【发布时间】:2018-07-11 10:38:21
【问题描述】:
我在onInit 中有以下代码:
const urlParams = Observable.combineLatest(
this.route.params,
this.route.queryParams,
(params, queryParams) => ({ ...params, ...queryParams })
);
this.id$ = urlParams.map(param => {
return param.id;
});
this.ofert$ = this.id$.pipe(
filter(id => !!id),
switchMap((ofertId: number) => {
return this.offerService.getWorkOffer(ofertId);
})
);
为什么switchMap 中的this.offerService.getWorkOffer 调用了
多次?
【问题讨论】:
-
this.id$ = urlParams.map....this.id$ 是一个与urlParams大小相同的集合/数组。所以pipe调用将遍历每个成员。如果您使用调试器并单步执行您的代码,您会看到。 -
我该如何处理?
标签: javascript angular rxjs