41
我是Angular2和Http Observable的新手。我有一個調用Http服務並返回Observable的組件。比我訂閱該Observable並且它工作正常。如何在Angular2中鏈接Http調用
現在,我希望在該組件中,在調用第一個Http服務之後,如果調用成功,則調用其他Http服務並返回該Observable。因此,如果第一次調用不成功,那麼該組件將返回該可觀察對象,在它對面返回第二次調用的可觀察對象。
所以,問題是,鏈接Http調用的最佳方式是什麼?有沒有什麼優雅的方式,比如monads?
具有角2.0(測試版0)需要以下: 進口「rxjs /添加/操作者/地圖」; import'rxjs/add/operator/mergeMap'; –
這雖然執行得很好。每當我重新訪問路由時,http調用會被另外觸發2次。 ngOnInit(){ let counter1 = 0,counter2 = 0; console.log('MyBiraComponent ngOnInit'); let uk = this.us.get(); (person => { console.log('line 45:',++ counter1); return person.id; })。flatMap(id => { console.log 'line 48:',++ counter2); return this.bu.get(id); })。subscribe(res => {console.log(res); }); } ngOnDestroy(){ this.u.unsubscribe(); } – Prabhat
在此處發佈此問題http://stackoverflow.com/questions/41087885/chained-rx-calls-called-multiple-times – Prabhat