降低JS功能

问题描述 投票:0回答:1

我正在尝试简化代码并将其分解为多个文件。例如,我设法做到:

socket.once("disconnect", disconnectSocket);

然后具有一个单独的名为disconnectSocket的函数,该函数可以按如下方式访问socket对象:

const disconnectSocket = socket => {
  ....
};

我正在尝试使用这种模式做类似的事情:

socket.on(EVENT_NAME, params => {
   ...
});

我可以在哪里做:

socket.on(EVENT_NAME, myFunc);

const myFunc = (socket, params) => {
  ...
}

但是这失败并说params is undefined。我在做什么错?

javascript node.js express sockets socket.io
1个回答
0
投票

您可以实现,但是您的功能签名不正确。处理程序将仅接受one参数。请注意,built-in events之类的一些reconnect_failed不会传递任何参数。

将您的签名更改为:

socket.on(EVENT_NAME, myFunc);

const myFunc = (message) => {
  ...
}
© www.soinside.com 2019 - 2024. All rights reserved.