Node.js https调用上的5种奇怪行为

Node.js https调用上的5种奇怪行为,node.js,angular,httpclient,interceptor,Node.js,Angular,Httpclient,Interceptor,我们在应用程序中使用angular 5和nodejs,我们在生产过程中遇到了一个奇怪的行为。我们从angular使用httpclient发送请求调用,当收到延迟响应时,它会作为默认行为每2分钟重试一次请求。一旦请求得到响应,它停止重试请求。我们在另一个订阅中有一个订阅方法 this._inspectionPageService.transferCheck(this.org) .subscribe(status => { if (status === true){ t

我们在应用程序中使用angular 5和nodejs,我们在生产过程中遇到了一个奇怪的行为。我们从angular使用httpclient发送请求调用,当收到延迟响应时,它会作为默认行为每2分钟重试一次请求。一旦请求得到响应,它停止重试请求。我们在另一个订阅中有一个订阅方法

  this._inspectionPageService.transferCheck(this.org)
  .subscribe(status => {
    if (status === true){
    this._inspectionPageService.saveReceipts(this.genId, this.receiptData)
      .subscribe(results => {
        this.receiptInfo = results;
      });
    } else {
      this._sharedServices.throwMessage('error', 'Failed.Please try Again');
    }
  });
这里的saveReceipts呼叫需要2分钟以上才能完成请求

我们没有使用任何重试方法。我们的拦截器也没有任何重试方法。这种情况很奇怪

当我们检查日志时,发现多个条目相差两分钟。我们试图在测试实例中复制此问题,但无法复制


有人对此有想法吗?

值得尝试一下管道(1)和catchError。\u inspectionPageService.transferCheck(this.org)。。另外,请查看本文,并尝试使用开关映射,因为它将取消所有旧的订阅。您能告诉我们为什么这种奇怪的行为只发生在生产中吗?为什么不能在测试实例中复制它?是因为超时还是httpclient中预先确定了超时的默认间隔?值得尝试(1)和catchError。_inspectionPageService.transferCheck(this.org)。。另外,请查看本文并尝试使用switchMap,因为它将取消所有旧订阅。您能否告诉我们,为什么这种奇怪的行为只在生产环境中发生?为什么无法在测试实例中复制?是因为超时还是httpclient中预先确定了任何默认的超时间隔?