簡體   English   中英

RxJs 在當前 observable 中使用一個 subject 來觸發一個 result

[英]RxJs use a subject to trigger a result in the current observable

在下面的代碼中,我必須使用 setTimeout 從 this.parts$(def) 中獲取一個值,因為它鏈接到一個監聽動作事件的可觀察對象。 我怎樣才能解決這個問題,所以我不需要使用超時來觸發 this.parts$(def) 的結果?

getParts$ = (def: Def) => {
        setTimeout(() => this.action.next('test'), 1);
        return this.parts$(def);
    };

編輯:動作定義為:

private action = new Subject<string>();

我猜你要做的是在動作觸發之前訂閱parts$。 您可以嘗試以下模式

getParts$ = (def: Def) => {
      return new Observable(obs=>{
        const sub=this.parts$(def).subscribe(obs);
        this.action.next('test'), 1);
        return ()=>sub.unsubscribe()
      }
    };

暫無
暫無

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

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