2017-07-17 3 views
0

typescriptが新しく、2つのsubscribeメソッドがネストされています。私の質問は、handleErrorメソッドを2回呼び出さずにhandleErrorメソッドを呼び出す方法です。1回の呼び出しでTypescript処理エラーが発生する

this.service1.get(id).subscribe(val => { 


     this.service2.get(id).subscribe(
      data => { 
      ... 
      }, 
      err => { 
      this.handleError("Handle me service2", err); 
      } 
     ); 
     }, 
     err => { 
     this.handleError("Handle me service1", err); 
     } 
    ); 

あなたが「マージ」観測と結果のシーケンスを購読するflatMap演算子を使用することができ

+0

、彼らは意志一緒に呼ばれることはありません。一度に1つだけ呼び出されます。問題はないようです。 –

答えて

0

おかげで、:あなたは二つの場所で `handleError`を呼び出しているにもかかわらず

this.service1.get(id).flatMap(val => { 
    return this.service2.get(id); 
}).subscribe(
    data => { 
     //... 
    }, 
    err => { 
     this.handleError("Handle error", err); 
    } 
); 
関連する問題