加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angular – 如何在ngrx / effects中执行if / else?

发布时间:2020-12-17 10:21:22 所属栏目:安全 来源:网络整理
导读:我正在使用ngrx / effects.我想根据商店中的foo状态调度不同的操作. 这就是我现在正在做的事情: @Effect() foo1$= this.updates$ .whenAction(Actions.FOO) .filter(obj = !obj.state.product.foo) .mapstring(toPayload) .map(x = ({ type: Actions.BAR1,p
我正在使用ngrx / effects.我想根据商店中的foo状态调度不同的操作.

这就是我现在正在做的事情:

@Effect() foo1$= this.updates$
    .whenAction(Actions.FOO)
    .filter(obj => !obj.state.product.foo)
    .map<string>(toPayload)
    .map(x => ({ type: Actions.BAR1,payload: { x }}));

  @Effect() foo2$= this.updates$
    .whenAction(Actions.FOO)
    .filter(obj => obj.state.product.foo)
    .map<string>(toPayload)
    .map(x => ({ type: Actions.BAR2,payload: { x }}));

有没有办法使用RxJS 5运算符,如partition,groupBy,if,this post中的case?我现在无法正确使用它.

有2个单独的效果源是好的.否则简单:
@Effect() foo$= this.updates$
    .whenAction(Actions.FOO)
    .map(({action,state}) => {
        if (state.product.foo) {
            return { type: Actions.CHAT_GET_MESSAGES2,payload: { action.payload }};
        } else {
            return { type: Actions.CHAT_GET_MESSAGES,payload: { action.payload }};
        }
    });

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读