簡體   English   中英

為什么在定義WebSocket對象的委托后不能手動打開WebSocket對象的連接?

[英]Why can't we manually open connection of WebSocket object after defining it's delegates?

在javacript中,我一定義conn=new WebSocket('url...'); 它將自動嘗試連接。

我必須定義conn.onopen=function(e){...}才能對其進行處理。 為什么這樣做? 我應該安全嗎? 如果是這樣,怎么辦?

通常,在幾乎所有平台和編程語言中,我們都在運行之前定義委托,對嗎? 那么為什么要這樣計划而不是這樣: conn=new WebSocket('...'); conn.onopen=... conn.open(); conn=new WebSocket('...'); conn.onopen=... conn.open();

之所以起作用,是因為JS是單線程的,並且在當前運行的代碼塊完成其所有工作(包括處理程序的聲明)之前,無法觸發onopen事件。

至於“為什么”的問題,我不確定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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