簡體   English   中英

如何將 Observable 和 Subject 組合成 combineLatest?

[英]How to combine Observable and Subject into combineLatest?

我是 combineLatest 的新手,但我正在嘗試組合一個具有以下功能的數組:

0: Observable {_isScalar: false, _subscribe: ƒ}
1: Observable {_isScalar: false, _subscribe: ƒ}
2: Observable {_isScalar: false, _subscribe: ƒ}
3: Subject {_isScalar: false, observers: Array(0), closed: false, isStopped: false, hasError: false, …}
4: Subject {_isScalar: false, observers: Array(0), closed: false, isStopped: false, hasError: false, …}
5: Observable {_isScalar: false, _subscribe: ƒ}
6: Observable {_isScalar: false, _subscribe: ƒ}

但由於某種原因

combineLatest(validations).subscribe(result => {console.log("it works"});

不發火。 我是這個功能的新手,沒有錯誤消息讓我無法理解什么是錯誤的。 如果我刪除項目 3-4 它會觸發。 但我需要它們。 請一些幫助。 謝謝你。

如果內部的每個Observable至少有一個值,CombineLatest 訂閱就可以工作。 似乎當您訂閱時,您的某些validations沒有價值。

您可以為其添加.pipe(startsWith(null)) ,只需將.pipe(startsWith(null))到每個 Observable/Subject。

如果方便,您可以改用merge(validations)另一種方法。

暫無
暫無

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

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