Rxjs 有没有一种方法可以在不中断订阅的情况下一直订阅相同的值?

Rxjs 有没有一种方法可以在不中断订阅的情况下一直订阅相同的值?,rxjs,rxjs6,rxjs-pipeable-operators,Rxjs,Rxjs6,Rxjs Pipeable Operators,我从一个减缩器中订阅一个值,它将始终为真。当我第一次订阅它时,它工作了。但下次就不是了。根据我的研究,这个值总是真的,如果我把这个值改成false,那么它就可以正常工作了 因此,订阅或取消订阅都会给观察者带来不同的价值。目前我确实喜欢这样: this.store.dispatch(new actionsMc.CheckConcurrencySuccess(false)); this.store.dispatch(new actionsMc.CheckConcurrency(true)); 即使

我从一个减缩器中订阅一个值,它将始终为真。当我第一次订阅它时,它工作了。但下次就不是了。根据我的研究,这个值总是真的,如果我把这个值改成false,那么它就可以正常工作了

因此,订阅或取消订阅都会给观察者带来不同的价值。目前我确实喜欢这样:

this.store.dispatch(new actionsMc.CheckConcurrencySuccess(false));
this.store.dispatch(new actionsMc.CheckConcurrency(true));
即使我需要通过真的,我总是这样做以上订阅我的更新。除了这项工作之外,还有其他方法吗?有人能帮我吗

在订阅中,我尝试了take一次,但没有进一步的效果。但我正在寻找其他的工作

这是我的订阅:

this.store.pipe(last(select(subscribe.newvalue))).subscribe(res => {
   console.log('new res', res);
}) 

但这不管用。作为一个简单的如何订阅和取消订阅收到的每个值?

如果我理解正确,您的意思是,即使商店中的数据更新为true,您也不会在订阅中收到通知。这是因为store会自动比较新值和以前的值,并激发。只有在值不相等时才会激发


最简单的解决方案是将存储区中的布尔字段包装到对象或数组中:[boolean]而不是boolean,这样每次更新时都会收到通知。

@D Pro这样:obj={required:true}-所以obj更新总是可以使用required?是的,每当您为对象指定新值时,存储将向订阅服务器推送一个新值。但也要看看选择器:如果它的结果值是布尔值,它仍然不能工作,它需要返回一个对象或数组