等待多个可观察到的ajax调用完成

时间:2018-07-07 18:42:50

标签: reactjs redux rxjs observable redux-observable

在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和其他信息的普通对象。

0 个答案:

没有答案