12 lines
380 B
JavaScript
12 lines
380 B
JavaScript
onmessage = e => {
|
|
let runnableStr = `(() => {return (${e.data.callback});})();`;
|
|
let runnable = eval(runnableStr); // eslint-disable-line no-eval
|
|
|
|
runnable.call(this).then(async result => {
|
|
self.clients.matchAll({ includeUncontrolled: true }).then(clients => {
|
|
if (clients && clients.length) {
|
|
clients[0].postMessage({ result });
|
|
}
|
|
});
|
|
});
|
|
};
|