Javascript socket.emit()在创建套接字对象后立即使用时不起作用,但在单击事件时调用它时起作用?
我有一个问题,当我实例化套接字对象之后,在套接字对象上调用socket.emit()时,它什么都不做。 就像在React应用程序加载时从构造函数调用套接字发出函数一样。 但是,当我将相同的emit附加到单击事件(如单击按钮)时,它会正常工作。这是因为socketio模块中的某个异步进程吗 例如:Javascript socket.emit()在创建套接字对象后立即使用时不起作用,但在单击事件时调用它时起作用?,javascript,socket.io,Javascript,Socket.io,我有一个问题,当我实例化套接字对象之后,在套接字对象上调用socket.emit()时,它什么都不做。 就像在React应用程序加载时从构造函数调用套接字发出函数一样。 但是,当我将相同的emit附加到单击事件(如单击按钮)时,它会正常工作。这是因为socketio模块中的某个异步进程吗 例如: socket = io(<someurl>); socket.emit('something') // this does not work socket=io(); socket.emi
socket = io(<someurl>);
socket.emit('something') // this does not work
socket=io();
socket.emit('something')//这不起作用
但是在click事件中调用相同的东西会触发emit。是。套接字尚未连接,即使只是几毫秒。请尝试在连接时发送初始发射:
const socket = io(); // with your parameters
socket.on('connect', () => {
socket.emit('something');
});
这是一个例子