如何为node.js请求库设置超时回调?

时间:2015-07-07 04:12:38

标签: javascript node.js npm-request

使用节点的http库,这看起来像

var request = http.request(options);
request.setTimeout(milliseconds, callback);

但是,我使用了包装库request并且没有看到在超时时添加回调的方法。

我正在创建一个API端点来发出http请求并公开该数据,如果请求超时,我希望能够呈现null结果。

1 个答案:

答案 0 :(得分:6)

没有特定的超时回调。它将被称为错误;那么你必须将它与其他错误区分开来。

request({
  timeout: 2000,
  url: 'http://timeout.example.org/'
}).on('error', function(err) {
  if (err.code === 'ETIMEDOUT') {
    console.log("Timeout!");
  }
});