[英]Websocket establish bulletproof connection
不存在時用於建立websocket連接的我的Coffee代碼返回錯誤:
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的正常行為,但我希望WebSockets像這樣工作:
# pseudocode
if websocket.establish_connection()
# do thing #1
else
do thing no.2
我考慮try
... catch
但我認為它很臟。 還有其他故障排除方法嗎?
它實際上並沒有引發錯誤,程序繼續執行。 它只是將錯誤(異步)記錄到控制台。 要處理連接失敗,您可以綁定到套接字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); });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.