nodejs请求模块在管道进入文件之前检查响应状态

时间:2016-07-29 16:46:44

标签: node.js

我目前正在使用“请求”模块下载一些文件。

代码看起来像

function download(url, fileName, path) {
    return new Promise(function(resolve, reject) {
        request({url: url})
        .pipe(fs.createWriteStream(path))
        .on("close", function() {
            log.d("File %s downloaded to path %s", fileName, path);
            resolve(info);
        })
        .on("error", reject);
    });
}

现在,我注意到即使URL返回404 NOT FOUND。不知何故,请求模块仍然设法管出一些东西,并存储一个1 kb的文件。

如何拦截状态代码,可能会检查它是否小于400.在将其传输到文件之前?

我抬头看他们的github,找不到一个例子。

非常感谢。

1 个答案:

答案 0 :(得分:0)

好的,基本上我需要给request()一个回调并拒绝statusCode> = 400