在可观察到的Redux上链接异步操作

问题描述

我正在将reduxjs与可观察到的redux中间件一起使用。

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

因此,例如,我需要首先获取用户,此后我知道用户的classId,然后可以获取该类,之后我又知道TeacherId,以便可以获取老师。

export const fetchAllEpic: Epic<RootAction,RootAction,RootState,RootServices> = (action$,state$) => {
  return action$.pipe(
    isActionOfType(fetchAllAsync.request),switchMap(() => {
        return of(
          fetchUserData.request(),fetchClass.request(state$.value.business.user.classId),fetchTeacher.request(state$.value.business.class.teacherId),);
    }),);
};

如何“等待”异步redux动作?还是有另一种方法?

我考虑过只为这种情况制作一个史诗,但这会导致很多重复的代码,因为那时我将不得不为fetchUserData使用不同的史诗,一个史诗只能获取用户数据并发出一个成功。另一个则发出成功和fetchClass.request,其ID为有效载荷。

我现在找到了this文章,但是问题是,由于我正在使用类型安全操作,因此我不能简单地使用meta属性,因为该属性在该类型上不存在

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)