2015-03-21 2 views
0

Я вызываю функцию javascript через событие onclick с моей веб-страницы, которая по событию начнет работать синхронно в моем веб-работнике. Поэтому я хотел знать, есть ли способ остановить эту функцию js после получения желаемого результата через событие onclick i.e вручную с моей веб-страницы.Как остановить Javascript в webworker извне?

// --- Чистые решения Javascript пожалуйста .--- //

+1

Нет ли для этого функции '.terminate()'? –

ответ

1

Так что я хотел бы знать, есть ли способ, чтобы остановить это Js функции после получения желаемого результата ...

Если у вас есть желаемый результат, веб-рабочий еще не должен работать. Он должен заканчиваться (или идти бездействующим) после отправки результата на главную страницу. У него может быть зарегистрирован обработчик message (так что вы можете сказать ему что-то сделать снова), но он не должен оставаться работает.

Как остановить Javascript в webworker со стороны?

Если веб-работник непрерывно работает код, такой как плотный цикл, который никогда не дает обратно в браузер, вы можете завершить его через terminate method на Worker Например:

Где вы начинаете рабочий:

var worker = new Worker("yourscript.js"); 

Позже, когда вы хотите, чтобы убить его:

worker.terminate(); 

Если рабочий возвращается к браузеру периодически (через setTimeout или просто потому, что он ждет message, а следующая вещь будет работать), вы можете опубликовать его сообщение о конкретном приложении, сообщающее ему очистить и завершить работу.

Смежные вопросы