Javascript 在redux中链接异步操作可观察

Javascript 在redux中链接异步操作可观察,javascript,typescript,redux,redux-observable,typesafe-actions,Javascript,Typescript,Redux,Redux Observable,Typesafe Actions,我将reduxjs与redux可观察中间件一起使用 我需要首先从api获取用户数据。获取完成后,此数据将写入我的redux存储,然后我想获取其他数据,这取决于用户获取的结果 例如,我需要首先获取用户,在我知道用户的classId之后,我可以获取这个类,在我知道teacherId之后,我可以获取老师 export const fetchAllEpic:Epic=(action$,state$)=>{ 返回操作$.pipe( isActionOfType(fetchAllAsync.request)

我将reduxjs与redux可观察中间件一起使用

我需要首先从api获取用户数据。获取完成后,此数据将写入我的redux存储,然后我想获取其他数据,这取决于用户获取的结果

例如,我需要首先获取用户,在我知道用户的classId之后,我可以获取这个类,在我知道teacherId之后,我可以获取老师

export const fetchAllEpic:Epic=(action$,state$)=>{
返回操作$.pipe(
isActionOfType(fetchAllAsync.request),
开关映射(()=>{
归还(
fetchUserData.request(),
fetchClass.request(state$.value.business.user.classId),
fetchTeacher.request(state$.value.business.class.teacherId),
);
}),
);
};
如何“等待”异步redux操作?还是有别的办法

我曾想过只为该场景制作一个epic,但这会导致大量重复的代码,因为那时我必须为
fetchUserData
创建不同的epic,一个只获取用户数据并发出成功信号的epic。另一个将发出success和fetchClass.request,id作为有效负载


我现在找到了这篇文章,但问题是,当我使用类型安全操作时,我不能简单地使用meta属性,因为它在该类型上不存在

我知道doc,我已经在使用它,但现在我想链接调用,所以我读到了meta参数,但目前我没有使用它。我正在创建如下操作:createAsyncAction('business/FETCH\u USER\u DATA\u REQUEST','business/FETCH\u USER\u DATA\u SUCCESS','business/FETCH\u USER\u DATA\u FAILURE',)();