From 8987e617bc9ae52ae872a5984d94f7aec90a4641 Mon Sep 17 00:00:00 2001 From: takker99 <37929109+takker99@users.noreply.github.com> Date: Thu, 3 Mar 2022 17:42:35 +0900 Subject: [PATCH] =?UTF-8?q?:bug:=20socket=E3=81=AE=E6=8E=A5=E7=B6=9A?= =?UTF-8?q?=E3=83=BB=E9=81=AE=E6=96=AD=E5=89=8D=E3=81=ABlistener=E3=82=92?= =?UTF-8?q?=E7=99=BB=E9=8C=B2=E3=81=97=E3=81=AA=E3=81=84=E3=81=A8=E3=81=84?= =?UTF-8?q?=E3=81=91=E3=81=AA=E3=81=8B=E3=81=A3=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- browser/websocket/socket.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/browser/websocket/socket.ts b/browser/websocket/socket.ts index 82c9f00..3df58dd 100644 --- a/browser/websocket/socket.ts +++ b/browser/websocket/socket.ts @@ -12,11 +12,12 @@ export function makeSocket() { */ export async function connect(socket: Socket): Promise { if (socket.connected) return; - socket.connect(); - return await new Promise((resolve) => + const waiting = new Promise((resolve) => socket.once("connect", () => resolve()) ); + socket.connect(); + await waiting; } /** websocketを切断する @@ -25,9 +26,8 @@ export async function connect(socket: Socket): Promise { */ export async function disconnect(socket: Socket): Promise { if (socket.disconnected) return; - socket.disconnect(); - return await new Promise((resolve) => { + const waiting = new Promise((resolve) => { const onDisconnect = (reason: Socket.DisconnectReason) => { if (reason !== "io client disconnect") return; resolve(); @@ -35,4 +35,6 @@ export async function disconnect(socket: Socket): Promise { }; socket.on("disconnect", onDisconnect); }); + socket.disconnect(); + await waiting; }