我使用npm
模块request
,但很多时候一些请求永远不会被回调,这会导致很多问题。
所以我想知道,请求应该总是回调?比如,如果我的请求超时,是否回调错误,还是忽略我的回调?
如果它忽略它,我怎么能100%确定我的函数被调用并且能够知道请求在任何情况下都不起作用?
答案 0 :(得分:0)
是的,总是执行回调函数。
var opt = {
url: 'http://stackoverflow.com',
timeout: 1 // one milisecond, my ping is 100 ms
};
request.get(opt, function (err, res, body) {
if (err) {
console.log(err.stack);
} else {
console.log(body);
}
});
输出:
Error: ETIMEDOUT
at null._onTimeout (C:\node\node_modules\request\request.js:677:15)
at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)
您可以查看请求代码请求如何发出此错误:
https://github.com/request/request/blob/master/request.js#L750