gpt4 book ai didi

javascript - Websocket建立防弹连接

转载 作者:行者123 更新时间:2023-12-03 10:11:41 24 4
gpt4 key购买 nike

我的咖啡代码在不存在时建立 websocket 连接返回错误:

socket = new WebSocket('ws://localhost:8080')
#=> Firefox can't establish a connection to the server at ws://localhost:8080/.
#=> socket = new WebSocket('ws://localhost:8080');

这是 WebSocket 的正常行为,但我希望 WebSocket 像这样工作:

# pseudocode
if websocket.establish_connection()
# do thing #1
else
do thing no.2

我想到了try...catch,但我认为它很脏。还有其他方法可以解决问题吗?

最佳答案

它实际上并没有抛出错误,程序继续执行。它只是将错误(异步)记录到控制台。要处理连接失败,您可以绑定(bind)到套接字 onerror 事件。

像这样的东西可能会起作用:

function establishWSConnection(url) {
return new Promise(function(res, rej) {
var ws = new WebSocket(url);
ws.onerror = rej;
ws.onopen = function () {
ws.onerror = null;
res(ws);
}
});
}

establishWSConnection('ws://localhost:1234').then(function(ws) {
// do stuff
}).catch(function(err){
console.log(err);
});

关于javascript - Websocket建立防弹连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30082033/

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