我正在从减速器订购值,该值将始终为true
。当我第一次订阅它的作品。但是下一次不是。根据我的研究,如果我将值更改为true
,则值始终为false
,就可以正常工作。
因此,订阅者期望观察者或退订者具有不同的值。目前我确实喜欢这样:
this.store.dispatch(new actionsMc.CheckConcurrencySuccess(false));
this.store.dispatch(new actionsMc.CheckConcurrency(true));
即使我始终必须通过true
来订阅我的更新,我也总是这样做。除了rxjs
之外,没有其他解决方法吗?
在订阅中,我尝试使用once
,但无法正常工作。但正在寻找其他解决方法。
这是我的订阅:
this.store.pipe(last(select(subscribe.newvalue))).subscribe(res => {
console.log('new res', res);
})
但不起作用。作为一种简单的方法,如何订阅和取消订阅每个收到的值?
答案 0 :(得分:1)
如果我正确理解您的意思,您是说即使存储中的数据已更新为“ true”,订阅中也不会通知您。那是因为store自动比较新值和先前值,并且仅在值不相等时才触发.next()。
最简单的解决方案是将商店中的布尔值字段包装到一个对象(或数组:[boolean]而不是boolean)中,以便每次更新时都会收到通知。