requestjs网络断开和重新连接问题

时间:2019-05-15 17:34:25

标签: node.js download request

我正在使用节点模块request在Electron应用程序中下载多个文件。但是当我在下载过程中关闭并重新打开无线网络时,遇到了一个间歇性问题。例如

如果我要下载4个文件并关闭然后再打开无线设备(间隔约20秒),我可以看到

  • 2个文件下载成功
  • 1个文件已损坏
  • 1个文件的响应为零(当我等待该响应时,它将挂起我的应用程序)

我也看过

  • 所有4个文件成功下载
  • 2-3个后续文件下载
  • 然后1个文件的响应为零(再次导致该应用程序因该特定承诺而挂起)

为解决此问题,我将请求的超时设置为20秒。这会导致文件下载意外地超时。但是,当网络重新打开时,它不会恢复。即所有下载继续超时。当时,我可以自己获取网址并使用浏览器下载。但是该应用仍然处于“不良状态”。

什么会导致这些问题?除了在请求中启用调试以外,还有其他调试技巧吗?

我正在使用的代码

const stream = request(file.uri, {timeout: 20000})
  .on('error', (error) => {
    console.error(`Failure downloading ${timeMarker} with error ${error}`);
    resolve();
})
  .pipe(file.decipher)
  ..... etc

0 个答案:

没有答案
相关问题