我想在Angular 2中使用Observable時處理異步流。 詳細地說,在每個用戶請求之前,我需要獲取服務票證,如果該票證是有效的,用戶可以得到適當的迴應。因此,在實際請求之前,我必須先執行http請求,如下所示,我調用getServiceTicket()方法,但是,由於異步流,在獲取有效的服務票據之前,會執行以下http請求(getDetail)有效的服務票據。所以我嘗試使用像isServiceTicket這樣的標誌,但我意識到它並不能保證這兩種方法的順序運行。我試圖做一些研究,但我找不到滿意的答案。如果有人有這個好的解決方案,你可以給一些建議嗎?根據前一個請求的角度執行http請求2
getServiceTicket() {
this.userAuthServie.getServiceTicket().subscribe(
(data: string) => {this.serviceTicket = data; this.isServiceTicket = true;}
);
}
getDetail(id: string) {
this.getServiceTicket();
return this.http.get('https://localhost/detail/' + id + '?ticket=' + this.serviceTicket)
.map((responseData) => {
return <User>responseData.json();
}
);
}
也許您正在尋找這樣的:https://coryrylan.com/blog/angular-multiple-http-requests-with-rxjs – Ploppy