fetchPermissionsEpic.js
const fetchPermissionsEpic = (
action$,
state$,
{ ajax },
) => (
action$
.pipe(
ofType(FETCH_PERMISSIONS),
map(state$.value)
map(accessTokenSelector),
switchMap(accessToken => (
ajax({
crossDomain: true,
headers: {
'Authorization': `Bearer ${accessToken}`,
},
url: 'https://example.com/permissions',
})
.pipe(
pluck('response'),
map(storePermissions),
)
)),
)
)