Мне нужно использовать веб-работника, чтобы открыть отдельный поток и выполнить какую-то тяжелую задачу ЦП.
Мне нужно было бы поручить веб-работнику вызов функции и аргументы, а затем получить возврат, поэтому япошел за:
funcs.js
export default function add(args) {
return args[0] + args[1];
}
main.js
import add from './funcs.js';
// [...]
this.worker.postMessage({func: add, args: [7, 3]});
затем ошибка времени выполнения:
DataCloneError
: не удалось выполнить postMessage
на Worker
: function add(args) {
return args[0] + args[1];
}
не удалось клонировать.
Кажется, что метод worker.postMessage
допускает только строкучтобы быть переданным, есть идеи, как я могу обойти это просто и элегантно?