Javascript 如何使用promisified请求很好地处理非HTTP 200响应
使用授权请求:Javascript 如何使用promisified请求很好地处理非HTTP 200响应,javascript,node.js,request,promise,Javascript,Node.js,Request,Promise,使用授权请求: const request = Promise.promisify(require('request')); Promise.promisifyAll(request); request('http://google.com').spread(function(res, body) { }).catch(function(e) { // does not get hit on HTTP 404 }); 这很好地工作,不幸的是,catch的错误块没有像人们所期望的那样在非
const request = Promise.promisify(require('request'));
Promise.promisifyAll(request);
request('http://google.com').spread(function(res, body) {
}).catch(function(e) {
// does not get hit on HTTP 404
});
这很好地工作,不幸的是,catch
的错误块没有像人们所期望的那样在非HTTP 200上命中。是否有办法更改行为,从而触发块
也许像
if (res.statusCode !== 200) { reject(res) }
不确定。从某种意义上说,这是有道理的,因为这是一个恰当的回应,不一定是一个不可预见的事件,但我想清楚地使用承诺,以提高可读性。您可能想看看,因为它会为您带来好处。您甚至可以使用Bluebird的
.catch()
谓词。谢谢,我将使用它。