refactor: optimize socket connection handling by removing polling transport and implementing lazy connection strategy in SocketManager for improved performance
This commit is contained in:
@@ -14,7 +14,27 @@ class SocketManager {
|
||||
|
||||
|
||||
emit(event, ...args) {
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!this.socket.connected) {
|
||||
// Connect the socket first
|
||||
this.socket.connect();
|
||||
|
||||
// Wait for connection before emitting
|
||||
this.socket.once('connect', () => {
|
||||
this.socket.emit(event, ...args);
|
||||
resolve();
|
||||
});
|
||||
|
||||
// Handle connection error
|
||||
this.socket.once('connect_error', (error) => {
|
||||
reject(error);
|
||||
});
|
||||
} else {
|
||||
// Socket already connected, emit directly
|
||||
this.socket.emit(event, ...args);
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user