gpt4 book ai didi

node.js - 如何在 Node.js 中为 http.createClient 设置超时?

转载 作者:搜寻专家 更新时间:2023-10-31 23:06:48 25 4
gpt4 key购买 nike

有一个帖子: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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com