如何在rx Javascript中打开一个可观察的内部行为主题.next() ?



这是创建和使用行为主题的方法。


// component/class 1

item = new BehaviourSubject(null)
item$ 
constructor() {
this.item$  = this.item.asObservable()
/// and to get value from item$ we do
this.item$.subscribe(v => console.log(v));
}

现在,要传递另一个值给行为主体或触发更改,我们可以这样做:


// component/class 2

someObservable$.subscribe(value => {
this.item.next(value)
}
)

所以我的问题是,有没有一种方法可以传递上述值而不订阅someObservable$?

像这样:

使可观察对象在行为主体内展开自身。

this.item.next(someObservable$)
// when I does this the item$ observable returns an observable wrapped inside another observable and not a real value.

有时候答案就是"不"。可观察对象不包含值。因此,你不能读取一个可观察对象的值,并在this.item.next(observable$)这样的函数调用中使用它。你必须订阅一个观察者

当然你可以用一个行为主题来代替。行为主题包含当前值。

this.item.next(behaviorSubject$.value)

是可能的。

最新更新