Есть ли способ приостановить и перезапустить веб-работника? - PullRequest
0 голосов
/ 16 апреля 2019

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

buttonClick: function () {
        if (typeof (this.w) == "undefined") {
            this.w = new Worker("theWorker.js");
            this.w.onmessage = this.workerResponse;
            this.w.postMessage("start");
        }
    }

Мой работник:

onmessage = function(e) {
    if(e.data=="start"){
    run();
  }
}

function run(){
while(true){
    // numbers are getting incremented
}

У меня вопрос - как я могу приостановить работу? Я не хочу прерывать его, потому что тогда все будет сброшено, но я хочу начать снова с текущего номера. Надеюсь, кто-нибудь может помочь! Если информации слишком мало, я могу отредактировать свой пост. Спасибо!

...