From ee9aeb8c3c767e63584eda19b4a6cf09be6674b4 Mon Sep 17 00:00:00 2001 From: Timothy Farrell Date: Tue, 27 Dec 2016 16:58:37 -0600 Subject: [PATCH] Allow other things to talk to the worker --- packages/portal/src/index.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/portal/src/index.js b/packages/portal/src/index.js index 3144f8e..d667042 100644 --- a/packages/portal/src/index.js +++ b/packages/portal/src/index.js @@ -42,7 +42,7 @@ export function WorkerPortal(context, worker, serialize) { _worker.postMessage(_serialize(type, destination, id, params)); } - _worker.onmessage = function dispatcher(evt) { + function dispatcher(evt) { let data; try { data = JSON.parse(evt.data); @@ -80,7 +80,8 @@ export function WorkerPortal(context, worker, serialize) { } else { _resolve(thennable); } - }; + } + function injectionPointFactory(fnId, fnName, callbackFactory) { return () => new Promise((resolve, reject) => { @@ -102,6 +103,8 @@ export function WorkerPortal(context, worker, serialize) { }; } + _worker.addEventListener('message', dispatcher); + return isWorker() ? new Promise(resolve => { contextIndex.splice(0, 0, '__init');