【问题标题】:Socket.io - listener must be a function on socket.io eventSocket.io - 监听器必须是 socket.io 事件的函数
【发布时间】:2016-09-30 18:45:44
【问题描述】:

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

基本上我想这样做

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

不是这个

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

当我尝试调用 myFuncExportedByModule 时,节点向我发送了一条“TypeError: listener must be a function”。

有什么想法吗?

【问题讨论】:

  • 你是如何导出函数的?你是怎么导入的?

标签: javascript node.js sockets socket.io


【解决方案1】:

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

尝试删除括号:

socket.on('joinChat', myFuncExportedByModule);

【讨论】:

  • 谢谢,这很明显。抱歉这个愚蠢的问题。
  • 没问题,有可能发生
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-22
  • 2016-07-17
  • 2019-02-07
  • 1970-01-01
  • 2017-12-07
相关资源
最近更新 更多