Rxjs 传播新的可观测数据';它只对一些观察家有价值

Rxjs 传播新的可观测数据';它只对一些观察家有价值,rxjs,Rxjs,假设我们有一个可观察的,它由多个观察者订阅 当可观察的发出一个新值时,我们能控制哪个观察者将获得新值吗 我试图实现这样一个场景:观察者一个接一个地接收新值,并期望返回true或false,以响应该值。当第一个观察者返回true时,其他观察者不得接收新值。对于同一个观察者,有多个观察者,第一个(必须定义)接收到第一个值的观察者继续监听,但其他观察者死亡?这就是你想要的吗?@bubbles是的,除了“死”部分。所有观察员都必须留下来。与标准的“subject.next(newValue)”相比,我试

假设我们有一个
可观察的
,它由多个观察者订阅

当可观察的
发出一个新值时,我们能控制哪个观察者将获得新值吗


我试图实现这样一个场景:观察者一个接一个地接收新值,并期望返回
true
false
,以响应该值。当第一个观察者返回
true
时,其他观察者不得接收新值。

对于同一个观察者,有多个观察者,第一个(必须定义)接收到第一个值的观察者继续监听,但其他观察者死亡?这就是你想要的吗?@bubbles是的,除了“死”部分。所有观察员都必须留下来。与标准的“subject.next(newValue)”相比,我试图更改的唯一行为是,必须迭代观察者列表(并且当前的观察者必须提供
newValue
),直到当前订阅者返回
true
。此时必须停止迭代,这意味着其他订户将不会收到此
newValue
。但是,在下一个
next()
期间,整个过程必须能够再次进行。您可以添加一些代码吗?我找不到你。我是sorry@bubbles我不知道如何在代码中显示它。1.你有10名观察员。如果执行
next(…)
,则所有10个变量都将被迭代并提供新值。默认情况下,RxJS就是这样工作的。我想做的是如下所示。2.取第一个(或列表中的下一个)观察者,为其提供新值。3.如果它回答“这个值是给我的!”!不要将值传递给任何其他观察者!'-立即停止迭代观察者。4.如果当前的观察者回答“不,这不是给我的!”转到第二个(下一个)观察者,对其余的观察者重复步骤#2-#4似乎您的值中有一个描述符,以了解它是否适合于正确的观察者?如果是这样,“过滤器”可以做到,不是吗?