我试图使RxJS epic基本上可以在API端点上循环并将结果连接成一个大数组,原因是API最多允许100个元素作为响应,因此我想收集所有元素并理想地将它们排序我把它作为负载还原到
const fetchData = action$ =>
action$.pipe(
ofType(FETCH_DATA),
mergeMap(action =>
ajax(`localhost:8001/data?page=${action.payload.pages}&per_page=${MAX_PER_PAGE}`).pipe(
map(datas => fetchDataSuccess(datas)),
retry(2),
catchError(error => of(fetchDataFailed()))
)
)
);
此代码段有效,我在组件中进行了工作,基本上我在页面编号上进行迭代,并为每个页面编号调用此获取数据,我不喜欢这样,但是没有找到更好的方法史诗本身。
还尝试了分派其他操作,并在加载所有页面时在reducer中进行排序,但是我很确定RxJS功能更强大,并且有一种方法可以直接在epic中进行。
在这个阶段我几乎一无所知,没有人看到一些更好的方法来进行多Ajax校准并将所有结果组合成一个大数组?