nodejs里socket.on和socket.once的单步调试
生活随笔
收集整理的這篇文章主要介紹了
nodejs里socket.on和socket.once的单步调试
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一個(gè)網(wǎng)友的求助:
https://stackoverflow.com/questions/49788422/socket-on-event-gets-triggered-multiple-times
其他朋友建議他用socket.once, 而非socket.on
socket對(duì)象本身并沒有on的方法:
原型鏈上才有:
執(zhí)行on(“createKOIID”, fn)之前的監(jiān)聽事件函數(shù)池:
使用on注冊(cè)之后:
再看once的實(shí)現(xiàn):
on是一個(gè)函數(shù),once傳入的監(jiān)聽函數(shù)作為一個(gè)屬性賦值到on上:
然后照常用on注冊(cè)事件:
注冊(cè)完畢。
事件觸發(fā)時(shí),首先執(zhí)行on:
在on里面會(huì)先解除掉對(duì)event的注冊(cè):
第1600行會(huì)把事件處理函數(shù)從handler repository里移除掉。
最后執(zhí)行對(duì)應(yīng)的事件處理函數(shù)。
要獲取更多Jerry的原創(chuàng)文章,請(qǐng)關(guān)注公眾號(hào)"汪子熙":
總結(jié)
以上是生活随笔為你收集整理的nodejs里socket.on和socket.once的单步调试的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 创造与魔法桂鱼食谱材料是什么
- 下一篇: nodejs --inspect-brk