From 0261bc11e7c34c5eac861ee376c4c9e0b66fc95c Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Fri, 22 Jan 2021 17:50:52 +0100 Subject: [PATCH] Delay Client error event Right now the caller won't receive the event, because it's triggered before the function returns. --- lib/client.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/client.js b/lib/client.js index 15df4ed..d72976a 100644 --- a/lib/client.js +++ b/lib/client.js @@ -36,8 +36,10 @@ export default class Client extends EventTarget { try { this.ws = new WebSocket(params.url); } catch (err) { - this.dispatchEvent(new CustomEvent("error", { detail: "Failed to create connection: " + err })); - setTimeout(() => this.dispatchEvent(new CustomEvent("close")), 0); + setTimeout(() => { + this.dispatchEvent(new CustomEvent("error", { detail: "Failed to create connection: " + err })); + this.dispatchEvent(new CustomEvent("close")); + }, 0); return; } this.ws.addEventListener("open", this.handleOpen.bind(this));