gpt4 book ai didi

javascript - 连接失败时 Node js TLS 未捕获错误?怎么抓?

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

在我看来,没有办法用 Node tls 捕获失败的连接。

tls.connect(port, host, options, function(){
// on connected
})

由于代码是异步的,我不能将它包装到 try catch 中。而且我似乎没有找到表明 ECONNREFUSED 条件失败的事件。 http://nodejs.org/api/tls.html#tls_tls_connect_options_callback

相反,进程只是崩溃并退出。尽管我能够使用 uncaughtException 处理程序捕获它。但是我无法找到从该处理程序的错误中恢复的方法。当程序到达那里时,甚至不知道是哪个连接失败了。

那么我们如何捕获失败的连接呢?

最佳答案

tls.connect 方法返回一个流对象,您应该将一个 error 处理程序绑定(bind)到该对象。

为了更清楚:

tls.connect(port, host, options, function(){
// on connected
});

是这个的缩写:

var stream = tls.connect(port, host, options);
stream.once('secureConnect', function(){
// on connected
});

因此您需要添加另一个处理程序来监听错误而不是成功的连接:

var stream = tls.connect(port, host, options);
stream.once('secureConnect', function(){
// on connected
});
stream.on('error', function(err){
// on error
});

关于javascript - 连接失败时 Node js TLS 未捕获错误?怎么抓?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21166691/

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