簡體   English   中英

將 observables 與邏輯 AND 運算符組合

[英]Combine observables with logical AND operator

我有兩個可觀察對象(映射到兩個 REST 調用)和一個主題(映射到用戶交互),我想將它們的結果組合成一個可觀察對象。

默認情況下,結果 observable 應該為 false,如果所有 observable 都為 true,則為 true。

我對使用哪種 RXJS 方法感到困惑。 我想我必須使用combineLatest ,但我不確定如何使用。

this.result$ = combineLatest(
    this.obs1$.pipe(
        take(1),
        map(result => result.wasSeen)
     ),
     this.obs2$.pipe(
        take(1)
     ),
     this.subj1$).pipe(
       //
      , startWith(false)
     )
);

你在正確的軌道上。

this.result$ = combineLatest([
 this.obs1$.pipe(
    map(result => result.wasSeen),
 ),
 this.obs2$,
 this.subj1$
]).pipe(
   map([b1, b2, b3] => b1 && b2 && b3),
);

不要take(1) 如有必要,請使用forkJoin而不是combineLatest

暫無
暫無

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

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