簡體   English   中英

如何在 rx Javascript 中解開可觀察的內部 behaviorsubject.next()?

[英]How to unwrap an observable inside behavioursubject .next() in rx Javascript?

這是創建和使用行為主體的方式。


// 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$的情況下傳遞上述值?

像這樣的東西:

這樣 observable 在行為主體內展開自身。

this.item.next(someObservable$)

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

有時答案只是“不”。 可觀察對象不包含值。 因此,您無法讀取 observable 的值並將其用於 function 調用中,例如this.item.next(observable$) 你必須訂閱一個觀察者。

當然,您可以改用行為主題。 行為主體包含當前值。

this.item.next(behaviorSubject$.value)

是可能的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM