我有一个问题,当我实例化套接字对象后在套接字对象上调用 socket.emit() 时,它不会执行任何操作。 就像加载 React 应用程序时从构造函数中调用套接字发出函数一样。 但是,当我将相同的发射附加到单击事件(例如单击按钮)时,它可以正常工作。这是因为 socketio 模块内有一些异步进程吗?
例如:
socket = io(<someurl>);
socket.emit('something') // this does not work
但是在点击事件中调用相同的东西会触发发射。
最佳答案
是的。套接字尚未连接,即使只是几毫秒。尝试在连接时发送初始发射:
const socket = io(); // with your parameters
socket.on('connect', () => {
socket.emit('something');
});
这是一个list of events .
关于javascript - socket.emit() 在创建套接字对象后立即使用时不起作用,但在单击事件上调用它时起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56577592/