Javascript Socket.io-侦听器必须是Socket.io事件上的函数

Javascript Socket.io-侦听器必须是Socket.io事件上的函数,javascript,node.js,sockets,socket.io,Javascript,Node.js,Sockets,Socket.io,我正试图重写我的socket.io服务器,以避开回调的麻烦。现在我尝试侦听一个事件,而不是作为回调传递一个匿名函数,我想传递一个由模块导出的函数 基本上我想这样做 socket.on('joinChat', myFuncExportedByModule(/* stuff */)); 而不是这个 socket.on('joinChat', function() { /* stuff */ }); 当我试图调用myFuncExportedByModule时,node向我返回了一个Type

我正试图重写我的socket.io服务器,以避开回调的麻烦。现在我尝试侦听一个事件,而不是作为回调传递一个匿名函数,我想传递一个由模块导出的函数

基本上我想这样做

socket.on('joinChat', myFuncExportedByModule(/* stuff */));
而不是这个

socket.on('joinChat', function() {
    /* stuff */
});
当我试图调用myFuncExportedByModule时,node向我返回了一个TypeError:侦听器必须是一个函数


有什么想法吗?

我认为错误在于您没有传递函数,而是在执行它

请尝试删除括号:

socket.on('joinChat', myFuncExportedByModule);

你是如何导出你的函数的?你是怎么进口的?谢谢,很明显。对不起,这个愚蠢的问题。没问题,这是可能发生的