JSFiddle - React, Tailwind, and code Playground
by Josh Pullen
JavaScript
const code = `
(({ a, b }) => a + b)
`;
const realCode = `
let func;
onmessage = function (e) {
postMessage(func(...e.data));
}
func = ${code};
`;
const blob = new Blob([realCode], { type: "text/javascript" });
const url = URL.createObjectURL(blob);
const worker = new Worker(url);
function execute(...args) {
return new Promise((resolve) => {
worker.onmessage = message => resolve(message.data);
worker.postMessage(args);
});
}
(async () => {
console.log(await execute({ a: 2, b: 3 }));
})();