1 2 3 4 5 6 7 8 9 10 11 12 13  | // await worker(x => x + 1)(42) -> 43 const worker = function(fn) {   const w = new Worker(URL.createObjectURL(     new Blob([‘onmessage = async ({ data }) =>       postMessage(await (${fn})(...data))‘])));   return function(...args) {     w.postMessage(args);     return new Promise((res, rej) => {       w.onmessage = ({ data }) => res(data);       w.onerror = ({ data }) => rej(data);     });   }; };  |