【问题标题】:Angular Loop over httpClienthttpClient 上的 Angular 循环
【发布时间】:2021-09-14 13:39:42
【问题描述】:

我有一个多行网格,我正在执行批量操作“例如:单击一次即可删除多行”,因此我正在循环访问 httpClient 请求。因此,如果我有 3 行,当成功执行第三个请求时,我想弹出一个 single 烤面包机说“已成功保存”。现在的问题是我将该烤面包机代码放在 for 循环中,因此每个成功的请求都会显示 1。同时,如果我将它放在循环之外,它将在订阅结束之前触发。

for(let i=0;i<this.selectedData.length;i++){
  this.service.delete(
    this.multipleSelected[index].id
  )
  .subscribe(res => {
    this._ToasterService.success('Successfully Changed');
     
  });
}

【问题讨论】:

    标签: angular httpclient


    【解决方案1】:

    使用forkJoin

    const deleteRequests: any[] = [];
    for (let i = 0; i < this.selectedData.length; i++) {
      deleteRequests.push(this.service.delete(this.multipleSelected[index].id));
    }
    
    forkJoin(deleteRequests).subscribe(res => {
      this._ToasterService.success('Successfully Changed');
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-25
      • 1970-01-01
      • 1970-01-01
      • 2017-12-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多