【问题标题】:angular http request call multitimes角度http请求调用多次
【发布时间】: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


【解决方案1】:

this.id$ = urlParams.map.... this.id$ 是一个与urlParams 大小相同的集合/数组。 pipe 调用将遍历每个成员,然后依次调用 switchMap,然后在每次迭代中调用 this.offerService.getWorkOffer

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多