簡體   English   中英

Websocket建立防彈連接

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM