当用户创建新帐户时,我想保存一些占位符信息以开始使用。不幸的是,我无法创建批量发布请求。所以我必须遍历数组。
我正在尝试使用 jsonplaceholder.typecode 和来自similar stackoverflow question和another stackoverflow question
的代码进行测试export const fetchAction = (resource: string[]): FetchPostsAction => ({
type: ActionTypes.FETCH_POSTS,
resource,
})
export const getPostsEpic = (action$: any) => action$.pipe(
ofType(ActionTypes.FETCH_POSTS),
mergeMap((action: FetchPostsAction) => {
let promiseArray = action.resource.map(id => {
return from(axios.get<Post>(`https://jsonplaceholder.typicode.com/posts/${id}`)
.then(response => ({type: ActionTypes.FETCH_POST_SUCCESS, post: response.data}))
.catch(err => console.log(err)))
})
return forkJoin(promiseArray)
})
)
在App.tsx中,我按以下方式调用操作
React.useEffect(() => {
if (props.posts.length === 0) {
props.fetchAction(['1', '2', '3'])
}
}, [props])
我进入了可观察的结果。我的结果很成功,但无法调度多个动作。另外,如何使用嵌套在mergemap中的mergemap做到这一点?