javascript - socket.io 客户端 : how to determine if a handler is already installed

标签 javascript socket.io handler

如果您为套接字上的同一个函数多次调用“on”方法会发生什么?多次调用它是简单地覆盖了最后注册的函数还是使用了更多资源?

如果是后者,那么如何判断handler是否已经注册?

最佳答案

我刚刚查看了 Firebug 中的套接字,有一个名为“_callbacks”的成员。

它包含所有已注册的回调,因此检测是否已注册非常简单:

    if ( socket._callbacks[strHandlerName] == undefined ) {
    //Handler not present, install now
        socket.on(strHandlerName, function () { ... } );
    }

就是这样!

关于javascript - socket.io 客户端 : how to determine if a handler is already installed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34238965/

相关文章:

javascript - useState Hook 不适用于 usePrevious Hook

javascript - 更新指令的两个实例的范围值

android - 应用程序崩溃 "Called From Wrong Thread Exception"

android - 处理程序类如何在 Android 中工作

android - 如何加载异步 url 图像? (libgdx)

javascript - 使用 sinon 和 bluebird 对 Promisified 函数进行 Stub

javascript - 使用 Javascript 检测何时按下 Tab 键

javascript - 如何处理哪个子进程获得 socket.io 套接字句柄

node.js - 如何在socket io中获取ip

html - 我可以在模板中使用不带路由的 Socket.io 和 Express 吗?