【问题标题】:http request thorows ERR_EMPTY_RESPONSE after 4 minuteshttp 请求在 4 分钟后触发 ERR_EMPTY_RESPONSE
【发布时间】:2018-04-10 11:53:27
【问题描述】:

我有一个 Angular 5 节点应用程序。我正在向节点服务器发送请求并等待回复。有时响应会在 5-6 分钟后从服务器发送。但是等待响应 4 分钟后,http 方法会抛出 ERR_EMPTY_RESPONSE 错误。

我尝试在该方法中使用 timeout()。但是 4 分钟后它仍然会抛出错误。

有什么办法可以让http方法等待更久或者避免这个错误?

const body = JSON.stringify(params);
const headers = new HttpHeaders({'Content-Type': 'application/json'});
return this.http.post('/api/execute', body, {headers: headers})
  .map((response) => response)
  .catch((error) => Observable.throw(error));

【问题讨论】:

  • 最好开始思考如何减少请求的处理时间,而不是如何增加超时限制
  • 时间不能最小化
  • 您是否使用代理支持?如果是,请分享您的代理 config.json

标签: javascript node.js angular


【解决方案1】:

尝试设置 Keep-Alive 标头

const headers = new HttpHeaders({'Content-Type': 'application/json', 'Keep-Alive': 'timeout=560'});

【讨论】:

    【解决方案2】:

    浏览器已内置超时,请在此处查看此线程Browser Timeouts

    所以,不,你不能告诉你的 JavaScript 代码等待更长时间。

    【讨论】:

      猜你喜欢
      • 2021-07-09
      • 1970-01-01
      • 2019-08-26
      • 2017-09-18
      • 2014-09-02
      • 2020-04-12
      • 1970-01-01
      • 2018-07-02
      • 1970-01-01
      相关资源
      最近更新 更多