0
有沒有什麼辦法鏈接幾個觀察對象,但是可以隨時完成鏈條?我有三個Observable,他們都返回布爾值。但是,如果當前可觀察值爲假,我只想進入鏈中的下一個可觀察值。觀測數據必須在最後一個完成時完成,並且完成的數值爲假。這可能嗎?RXJS鏈條可觀察量在任何時間點完成
有沒有什麼辦法鏈接幾個觀察對象,但是可以隨時完成鏈條?我有三個Observable,他們都返回布爾值。但是,如果當前可觀察值爲假,我只想進入鏈中的下一個可觀察值。觀測數據必須在最後一個完成時完成,並且完成的數值爲假。這可能嗎?RXJS鏈條可觀察量在任何時間點完成
您可以設置一個observable來控制流程並在完成後完成它。同樣使用zip操作符 - 如果其中一個可觀察對象(在我們的例子中是控件對象)完成,它將完成整個流程。
let control$ = new Rx.Subject();
let data$ = Rx.Observable.interval()
.map(x => x<10?true:false)
.do(flag => {
if(flag) control$.next(true);
else control$.complete();
});
Rx.Observable.zip(data$.filter(x=>x), control$.startWith(true), (x,y)=>x)
.subscribe(x=>console.log(x))
請您澄清一下您的意思嗎? 「進展」,「鏈條」在這方面可能會混淆。有沒有機會提供你想要的樣本輸入/輸出? – superjos
我在https://stackoverflow.com/a/42659054/2398593做了一個響應來鏈接請求,你只需要添加一個'if'來實現你想要的東西 – Maxime