gpt4 book ai didi

angular - ngrx/effects 中的 if/else 怎么办?

转载 作者:太空狗 更新时间:2023-10-29 17:26:12 25 4
gpt4 key购买 nike

我正在使用 ngrx/effects。我想根据商店中的 foo 状态分派(dispatch)不同的操作。

我现在是这样的:

 @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 }}));

有没有办法在 this post 中使用 RxJS 5 运算符,如 partitiongroupByifcase ?我现在无法正确使用它。

最佳答案

有 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 }};
}
});

关于angular - ngrx/effects 中的 if/else 怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39299386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com