查找请求错误

时间:2018-02-15 20:20:58

标签: node.js node-request

我有一个发布到端点的脚本,就像使用node.js请求模块https://github.com/request/request

一样
const options = {
  url: path,
  formData: {
    name: name,
    bundle: fs.createReadStream(path)
  }
}


request.post(options, function(err, httpResponse, body) {
 if (err) {
  console.log('Error!')
 } else {
  console.log('Success!')
 }
})

我试图抓住帖子失败并且不起作用。我试着故意上传一些内容并得到400回复,但它仍然成功回归。有没有更合适的方法来处理请求模块的错误捕获?

1 个答案:

答案 0 :(得分:1)

请求库不会填充请求回调的error参数,除非传输中存在实际错误或某些其他运行时问题。请在GitHub上查看此问题:404 error does not cause callback to fail #2196

  

目前请求不处理HTTP错误。你可以包装   回调并在那里添加你自己的逻辑。

要检查HTTP错误,请检查statusCode参数的response属性:

request.post(options, function (err, httpResponse, body) {
    if (err || httpResponse.statusCode >= 400) {
        return console.error("Something went wrong");
    }
    console.log('Success!')
});