[英]How to use forkJoin and mergeMap in Angular resolver to chain HTTP requests?
我正在構建一個在我的應用程序最初加載時使用的解析器。 我需要運行幾個 HTTP 請求,它們可以同時運行(因此使用 forkJoin)。 但是一旦 forkJoin 完成,有一些需要鏈接。 實現這一目標的最佳方法是什么? 我嘗試使用mergeMap如下:
resolve(): Observable<any> {
return forkJoin([
this.dataService.getUser(),
this.dataService.getSummary()
]).mergeMap((data) => {
return this.dataService.listDetails(data[1]);
});
}
但是,我收到以下錯誤:
ERROR Error: Uncaught (in promise): TypeError: (0 , rxjs__WEBPACK_IMPORTED_MODULE_1__.forkJoin)(...).mergeMap is not a function
TypeError: (0 , rxjs__WEBPACK_IMPORTED_MODULE_1__.forkJoin)(...).mergeMap is not a function
mergeMap
是一個運算符。 這些需要在pipe
方法中使用:
resolve(): Observable<any> {
return forkJoin([
this.dataService.getUser(),
this.dataService.getSummary()
]).pipe(mergeMap((data) => {
return this.dataService.listDetails(data[1]);
}));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.