微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决在可观察到的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 举报,一经查实,本站将立刻删除。