首页 > 解决方案 > 有没有办法暂停和重新启动网络工作者?

问题描述

我的网络工作者有问题,希望有人可以帮助我。我有一个带有两个按钮的浏览器端 - 一个启动我的工作人员(数字正在增加),另一个暂停工作人员。如果我再次单击开始按钮,它应该会从中断的地方继续。在我的 javascript 文件中,我根据按钮单击调用 webworker:

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
}

我的问题是 - 我怎样才能暂停工人?我不想终止它,因为那时一切都会重置,但我想从当前号码重新开始。我希望,任何人都可以提供帮助!如果信息太少,我可以编辑我的帖子。谢谢!

标签: javascriptworker

解决方案


推荐阅读