From ce3fbcad0bfea44f9dc66e5ac5a80465dea2732b Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Mon, 19 Sep 2022 08:11:54 -0400 Subject: [PATCH] *Bug fix and improve response handling --- src/index.ts | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/index.ts b/src/index.ts index 6320b5d..ed15428 100644 --- a/src/index.ts +++ b/src/index.ts @@ -150,21 +150,31 @@ function handleListenSocketEvent(aq: ActiveQuery) { return; } + let responded = false; + const respond = () => { + if (responded) { + return; + } + + responded = true; + aq.respond(); + }; + const cb = (data: Buffer) => { aq.sendUpdate(data); }; socket.on(event, cb); socket.on("close", () => { - socket.off(socket, cb); - aq.respond(); + socket.off(event, cb); + respond(); }); aq.setReceiveUpdate?.((data: any) => { switch (data?.action) { case "off": - socket.off(socket, cb); - aq.respond(); + socket.off(event, cb); + respond(); break; } });