有没有一种方法可以在不中断订阅的情况下一直订阅相同的值?
Is there a way to subscribe the same value all time without subscribe break?
我正在从减速器订阅一个值,它总是 true
。当我第一次订阅时它有效。但下一次就不是了。根据我的研究,如果我将值更改为 false
,则该值始终为 true
,那么它工作正常。
所以订阅期望观察者或取消订阅的不同值。目前我是这样做的:
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);
})
但不起作用。作为一个简单的如何订阅和取消订阅收到的每个值?
如果我没理解错的话,你是说即使商店中的数据更新为 "true",你的订阅也不会收到通知。这是因为 store 会自动比较新值和先前值,并且仅当值不相等时才触发 .next() 。
最简单的解决方案是将商店中的布尔字段包装到一个对象中(或数组:[boolean] 而不是布尔值),这样每次更新时您都会收到通知。
我正在从减速器订阅一个值,它总是 true
。当我第一次订阅时它有效。但下一次就不是了。根据我的研究,如果我将值更改为 false
,则该值始终为 true
,那么它工作正常。
所以订阅期望观察者或取消订阅的不同值。目前我是这样做的:
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);
})
但不起作用。作为一个简单的如何订阅和取消订阅收到的每个值?
如果我没理解错的话,你是说即使商店中的数据更新为 "true",你的订阅也不会收到通知。这是因为 store 会自动比较新值和先前值,并且仅当值不相等时才触发 .next() 。
最简单的解决方案是将商店中的布尔字段包装到一个对象中(或数组:[boolean] 而不是布尔值),这样每次更新时您都会收到通知。