fix(sio): improve io.close() function (#5344)

Before this change, `await io.close();` would resolve before the HTTP server was properly shut down.

Related: https://github.com/socketio/socket.io/pull/4971
This commit is contained in:
Ihor Machuzhak
2025-04-30 16:48:56 +03:00
committed by Damien Arrachequesne
parent 161be91975
commit bb0b480d2a

View File

@@ -831,7 +831,16 @@ export class Server<
restoreAdapter();
if (this.httpServer) {
this.httpServer.close(fn);
await new Promise<void>((resolve, reject) => {
this.httpServer.close((err) => {
fn && fn(err);
if (err) {
reject(err);
} else {
resolve();
}
});
});
} else {
fn && fn();
}