簡體   English   中英

Angular2 Observables可以立即映射並訂閱嗎?

[英]Angular2 Observables map and subscribe at once?

我有一個訂閱這樣的可觀察函數:

public whatever(): Observable<Response> {
  this.someService.functionReturnsObservable(params)
    .subscribe(
      success => {
        /* stuff to be done after observable's next */
      }
    );

  return this.someService.functionReturnsObservable(params)
    .maps((response: Response) => response));
}

這樣,我兩次調用該函數。 我嘗試了類似的東西

public whatever(): Observable<Response> {
  return this.someService.functionReturnsObservable(params)
    .map((response: Response) => { 
      /* whatever I put here, even console.log(smthg) does not work */
    });
}

可觀察對象僅在已訂閱的情況下運行。 如果它返回一個.map ,但是沒有任何訂閱,它將永遠不會運行.map 嘗試訂閱map結果。

public whatever(): Observable<Response> {
  let returnObs = this.someService.functionReturnsObservable(params)
    .map((response: Response) => { 
      console.log('map');
    });

  returnObs.subscribe((response) => {
      console.log('subscribe');
    });

  return returnObs;
}

暫無
暫無

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

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