ng-block-ui不适用于Angular 7 concatmap

问题描述 投票:0回答:1

我正在使用NgBlockUI和BlockUIHttpModule,并且在我正在处理的应用程序中将blockAllRequestsInProgress设置为true。通常,它工作正常,但在一页上,我使用concat映射执行一些操作,然后更新数据。第一个请求(更新)触发BlockUI正常,但第二个请求没有触发。否则,它将正确执行。对于用户来说,这只是一个小小的障碍,因为结果似乎在没有警告的情况下进行了更新。这是该函数的代码:

onUpdate(event: items[]) {
  this.updateService.update(event).concatMap(
    _ => this.seachService.search(this.cachedSearch)
  ).subscribe(
    resp => this.handleResponse(resp),
    err => this.handleError(err)
  );
}

我尝试直接调用BlockUI,但还是没有运气。作为最后的选择,我将把整个事情都变成一个请求,但是我至少想了解为什么这不起作用。

angular7 blockui
1个回答
0
投票

这也发生在我身上。对于顺序的HTTP调用(通常带有await),会发生此问题,其中第二个请求未被ng-block-ui阻止。

作为修复,我将blockAllRequestsInProgress设置为false。行为是相同的,但是将其设置为false会产生更可预测的结果:

    BlockUIHttpModule.forRoot({
      blockAllRequestsInProgress: false,
      requestFilters: [urlFilter]
    }),

在撰写本文时,我也已将ng-block-ui更新为最新版本:

    "ng-block-ui": "^2.1.8",
© www.soinside.com 2019 - 2024. All rights reserved.