From 8702fda65157b2375957d21c1d981142d3ed8935 Mon Sep 17 00:00:00 2001 From: Danny Coates Date: Fri, 9 Aug 2019 11:47:44 -0700 Subject: [PATCH] handle websocket construction exceptions --- app/api.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/app/api.js b/app/api.js index cbad2e29..fd29db77 100644 --- a/app/api.js +++ b/app/api.js @@ -146,11 +146,13 @@ export async function setPassword(id, owner_token, keychain) { } function asyncInitWebSocket(server) { - return new Promise(resolve => { - const ws = new WebSocket(server); - ws.onopen = () => { - resolve(ws); - }; + return new Promise((resolve, reject) => { + try { + const ws = new WebSocket(server); + ws.addEventListener('open', () => resolve(ws), { once: true }); + } catch (e) { + reject(new ConnectionError(false)); + } }); }