Так что я хотел бы знать, есть ли способ, чтобы остановить это Js функции после получения желаемого результата ...
Если у вас есть желаемый результат, веб-рабочий еще не должен работать. Он должен заканчиваться (или идти бездействующим) после отправки результата на главную страницу. У него может быть зарегистрирован обработчик message
(так что вы можете сказать ему что-то сделать снова), но он не должен оставаться работает.
Как остановить Javascript в webworker со стороны?
Если веб-работник непрерывно работает код, такой как плотный цикл, который никогда не дает обратно в браузер, вы можете завершить его через terminate
method на Worker
Например:
Где вы начинаете рабочий:
var worker = new Worker("yourscript.js");
Позже, когда вы хотите, чтобы убить его:
worker.terminate();
Если рабочий возвращается к браузеру периодически (через setTimeout
или просто потому, что он ждет message
, а следующая вещь будет работать), вы можете опубликовать его сообщение о конкретном приложении, сообщающее ему очистить и завершить работу.
Нет ли для этого функции '.terminate()'? –