4

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

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

但是,我正在使用包装库请求,但看不到在超时时添加回调的方法。

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

4

1 回答 1

6

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

request({
  timeout: 2000,
  url: 'http://timeout.example.org/'
}).on('error', function(err) {
  if (err.code === 'ETIMEDOUT') {
    console.log("Timeout!");
  }
});
于 2015-07-07T04:28:24.510 回答