我有一个发布到端点的脚本,就像使用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
回复,但它仍然成功回归。有没有更合适的方法来处理请求模块的错误捕获?
答案 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!')
});