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

How do you set a callback on timeout for the node.js request library?

对于节点的 http 库,这看起来像

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

但是,我正在使用包装器库 request,但没有找到添加超时回调的方法。

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

没有具体的超时回调。会作为错误回调;那你就得和其他错误区分开来了。

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