在React Native项目中使用redux-observables,我试图进行ajax调用以检索消息数组。调用完成后,我想对数组中的每个项目进行单独的Ajax调用,等待它们全部完成,然后使用redux操作将它们发布。
我已经使用forkjoin尝试过 ,但是我正在努力将数组变成可观察对象的数组(我认为这是必要步骤?)并创建单独的Ajax调用,然后等待它们完成。这有可能吗?
export const messagesEpic: Epic = (action$, state$) =>
action$.pipe(
ofType('MESSAGES_FETCH'),
mergeMap((_: Action) =>
constructAPICall(
state$,
'GET',
api.endpoints.messages('type', 0),
).pipe(
map(response => < insert transform array to observables and ajax -> wait for all to finish >,
catchError(error => of({
type: GENERAL_API_ERROR,
payload: error.xhr.response,
error: true,
}))
)))
);
第一个ajax调用接收到的数组是一个简单的json数组,其中包含包含id和其他信息的普通对象。