Redux可观察史诗中的IF

斯蒂芬·B

我有一部史诗,可以捕获每次获取状态的信息(只是状态中的项,例如state.process:{status:失败,成功,inWork},而不是请求状态,如200、500等)。当状态==成功时(通过从状态获取状态),我需要调度其他操作,例如SET_STATUS_SUCCESS

const getStatus = (action, state) =>
    action.pipe(
        ofType(GET_STATUS),
        withLatestFrom(state),
        mergeMap(([action, state]) => {
            const { status } = state.api.process; //here is what i need, there is no problem with status.
            if (status === "success") {
              return mapTo(SET_STATUS_SUCCESS) //got nothing and error.
}
        })
    );

现在我收到错误:

未捕获的TypeError:您提供了'function(source){return source.lift(new MapToOperator(value)); }'预计会出现流。您可以提供一个Observable,Promise,Array或Iterable。在subscriptionTo(subscribeTo.js:41)

我该怎么办?我试过只是返回setStatusSuccess操作,但是它也不起作用。

庞普图斯

您需要从传递给的函数中返回一个observable mergeMap尝试这个:

const getStatus = (action, state) =>
  action.pipe(
    ofType(GET_STATUS),
    withLatestFrom(state),
    mergeMap(([action, state]) => {
      const { status } = state.api.process;

      if (status === 'success') {
        return of({ type: SET_STATUS_SUCCESS });
      } else {
        return EMPTY;
      }
    }),
  );

ofEMPTY是从rxjs导入的

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从Redux可观察的史诗中访问状态

如何在可观看Redux的史诗中链接可观察到的RxJS?

如何在单个Redux可观察的史诗中等待/屈服于多个动作?

在Redux可观察的史诗中发送请求之前触发动作

在Redux可观察到的史诗中的所有动作之后触发一个动作

如何在史诗中使用“ const”?Redux可观察到的ES6箭头功能

Redux可观察史诗与Rxjs问题

Redux可观察到的史诗链调度重复动作

使用Redux Toolkit和Typescript反应可观察的史诗

测试Redux可观察的史诗的错误处理

redux-observable-在单个史诗中调度多个redux动作

Redux中间件和Redux可观察的史诗有什么区别?

可观察到的Redux-如何发送动作以启动单独的史诗,然后等待该史诗响应(或超时)

Redux-Observable 单个史诗中的多个动作

使用 redux-observable 和 rxjs 在史诗中出错

在Redux可观察到的场景中对多个史诗进行编排和排序

使用Redux可观察的史诗通过多个动作来装饰数据

如何格式化RxJS redux可观察的史诗来做很多事情?

可观察到的Redux:为多个动作触发相同的史诗

链式可观察到的Redux史诗只能正确触发一次

如何在Redux可观察的史诗内部执行副作用?

如何为所有Redux可观察的史诗添加全局错误处理程序?

如何轻松测试5分钟后发出动作的redux可观察的史诗?

如何使用Redux可观察的史诗来测量两次动作之间的持续时间?

redux-observable和rxjs。将诺言转换为可观察-史诗仅被调用一次

从其他史诗中调用史诗

如何使用redux-observable在一部史诗中发出多个动作?

Redux Observable Fetching史诗中将超时运算符放在何处

如何在 redux observable 史诗中为 ajax 响应发出两个动作