我正在 JavaScript 中使用 Socket.io 编写代码,并且我一直在尝试定义在事件语句之外的某个事件期间发生的函数,因为我想稍后重用该函数。因此,而不是通常的:
socket.on('eventName',function(input){
//code triggered by event
});
我想预先声明该函数,然后在“on”语句中使用它:
function myFunction(input){
//some code
}
socket.on('input', myFunction(input));
到目前为止,我还没有取得任何成功,并且我在终端中不断收到此错误:
nodejs exception: ReferenceError: input is not defined
引用通过“input”事件从客户端发送的输入。我是否总是必须在“on”语句中定义触发事件时发生的代码?
最佳答案
您想要传递对 myFunction
的引用,如下所示:
socket.on('input', myFunction);
您对myFunction(input)
所做的实际上是使用 undefined variable input
执行myFunction
作为其参数(因此出现错误)。
关于javascript - 在 "on"语句之外定义套接字 io 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37999012/