diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2019-02-19 22:50:33 -0500 |
---|---|---|
committer | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2019-05-04 13:02:56 -0400 |
commit | c933a55b818052c0a0922257a9fb82928723850a (patch) | |
tree | 467e1d2db7c74568daf27dcfbc66c1718cef020f /ext/fg/js | |
parent | 769dc205fb56fa8f9442f68907eb9598caea52bd (diff) |
Handle messages with unexpected response format
The response parameter can be undefined
Diffstat (limited to 'ext/fg/js')
-rw-r--r-- | ext/fg/js/util.js | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/ext/fg/js/util.js b/ext/fg/js/util.js index 5eff4018..954b3988 100644 --- a/ext/fg/js/util.js +++ b/ext/fg/js/util.js @@ -26,11 +26,15 @@ function utilAsync(func) { function utilInvoke(action, params={}) { return new Promise((resolve, reject) => { try { - chrome.runtime.sendMessage({action, params}, ({result, error}) => { - if (error) { - reject(error); + chrome.runtime.sendMessage({action, params}, (response) => { + if (response !== null && typeof response === 'object') { + if (response.error) { + reject(response.error); + } else { + resolve(response.result); + } } else { - resolve(result); + reject(`Unexpected response of type ${typeof response}`); } }); } catch (e) { |