Socket.io – 监听器必须是socket.io事件的一个函数

我试图重写我的socket.io服务器,以躲闪“回拨地狱”的事情。 现在我试图听一个事件,而不是传递一个匿名函数作为callback,我想传递一个模块导出的函数。

基本上我想这样做

socket.on('joinChat', myFuncExportedByModule(/* stuff */)); 

而不是这个

 socket.on('joinChat', function() { /* stuff */ }); 

只要我试图调用myFuncExportedByModule,节点发回给我一个“TypeError:监听器必须是一个函数”。

有任何想法吗?

我认为错误是你没有传递一个函数,而是执行它。

尝试删除括号:

 socket.on('joinChat', myFuncExportedByModule);