作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
有一个帖子:How do I set a timeout for client http connections in node.js
但没有一个答案会奏效。
所以,我有这样的代码:
var remote_client = http.createClient(myPost, myHost);
var path = '/getData?';
var param = { };
var request = remote_client.request("POST", path,);
// error case
remote_client.addListener('error', function(connectionException){
console.log("Nucleus Error: " + connectionException);
next(connectionException);
});
request.addListener('response', function (response) {
response.setEncoding('utf-8');
var body = '';
response.addListener('data', function (chunk) {
// get the result!
});
});
request.end();
最大的问题是我连接到的 url 可能会超时。因此,我想设置一个超时时间,比如 15 秒。如果是这样,触发一个监听器。
但是,我在 http.createClient 的文档中没有看到任何超时功能。请指教。谢谢。 :)
最佳答案
var foo = setTimeout(function() {
request.emit("timeout-foo");
}, 15000);
// listen to timeout
request.on("timeout-foo", function() { });
request.addListener('response', function (response) {
// bla
// clear counter
clearTimeout(foo);
});
自己去柜台吧。
关于node.js - 如何在 Node.js 中为 http.createClient 设置超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6129240/
我是一名优秀的程序员,十分优秀!