未处理ETIMEDOUT错误

时间:2018-01-26 06:49:09

标签: javascript node.js error-handling timeout

这里的总菜鸟。试图使用npm模块'ttsbackup',这似乎不再由原作者维护。该模块下载指定的文件列表。

我偶尔会收到一个未处理的ETIMEDOUT错误。

查看此代码段,

var downloadUrl = function (toDirectory, url, callback) {
    console.log("downloading: %s", url);
    var out = fs.createWriteStream(path.join(toDirectory, UrlHelper.fileNameForUrl(url)));
    out.on('error', function (err) {
        if (err.message.code === 'ETIMEDOUT') {
            console.log("Request timed out...Retrying.");
            downloadUrl(toDirectory, url, callback);
        }
    });
    request.get(url).pipe(out)
        .on('error', function () {
            console.error("Error! Could not get resource: %s. Continuing, but check your mod after archiving for issues.", url);
        })
        .on('close', function () {
            callback(null, url);
        });
};

应该正确处理,但任何超时错误都将终止节点进程。我试过移动.on('错误'功能,没有运气。

请帮帮我。

亲切的问候。

0 个答案:

没有答案