0
我對代碼的這段摘錄很難。循環中的事件監聽器
_.forEach peerIds, (peerId) =>
console.log "connecting to peerId: #{ peerId }"
connection = peer.connect peerId
connection.on "error", (error) =>
alert error.type
connection.on "open", =>
console.log "connection to peerId #{ connection.peer } is open: #{ connection.open }"
@connections.push connection
@listenForMessage connection
這是我正在處理的p2p聊天的一部分。基本上它通過對等ID列表,爲每個對象創建一個連接,並在每個創建的連接上放置一個事件監聽器。你看到的是Lo-Dash。變量peer
是PeerJS。
如果我們假設peerIds
設置爲["y", "z"]
,這裏是相當有趣的控制檯輸出:
peerIds:Y,Z
連接的peerID:Y
連接的peerID:
連接到peerId z是開放的:false
連接的peerID z是開放的:真正的
爲什麼事件open
與屬於同行z
連接兩次叫什麼名字?我無法從內部循環中更改peerIds
,對吧?
我以某種方式需要使這個運行同步(沒有)或者只是在異步時正確。
預期輸出:
peerIds:Y,Z
連接到的peerID:Y
連接到的peerID位:Z
連接的peerID y是開放:真
與peerId的連接z已打開:true