簡體   English   中英

完成其他可觀察對象后如何返回可觀察對象

[英]How to return an Observable when other observable is done

我正在擴展一個類,該類已經具有返回Observable的方法,如下所示,我想在返回第一個observable的結果(從另一個服務獲取token之后)之后返回基本observable,

所以我開發如下代碼,但是打字稿編譯器不接受,因為我沒有返回Observeable<Response> ,它將在subscribe方法中返回

 post(url: string, body: any, options?: RequestOptionsArgs): Observable<Response> {
    this.tokenService.getToken().subscribe(token => {
      //injecting token into options
      return super.post(url, body, options);
    });

}

我也嘗試創建一個新的Observable,如下所示,但還是沒有機會

post(url: string, body: any, options?: RequestOptionsArgs): Observable<Response> {
     return new Observable<Response>(observer => {
        this.tokenService.getToken().subscribe(token => {
          //injecting token into options
          //observer.complete??? super.post(url, body, options);
        });

    });
  }

使用flatMap將一個可觀測值轉換為另一個可觀測值:

post(url: string, body: any, options?: RequestOptionsArgs): Observable<Response> {
    return this.tokenService.getToken().flatMap(token => {
      //injecting token into options
      return super.post(url, body, options);
    });
}

暫無
暫無

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

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