避免Chrome长时间执行时Chrome“网页无响应”

时间:2019-03-08 21:52:09

标签: javascript google-chrome message

我有一个JavaScript LONG执行程序(以及执行该程序的原因)。如何避免在客户端计算机上使用 javascript 消息?我读了一些关于 --disable-hang-monitor,但它是命令行参数或设置,不是javascript(此外,我仍然无法正常工作)

1 个答案:

答案 0 :(得分:1)

假设您正在执行无法按较小的细分进行的复杂计算,那么网络工作者对我来说似乎是解决方案。 这是在单独线程中运行代码的javascript机制,但是您必须通过消息传递与该线程(称为工作线程)进行通信: https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers

var myWorker = new Worker('worker.js');
first.onchange = function() {
  myWorker.postMessage([first.value,second.value]);
  console.log('Message posted to worker');
}

second.onchange = function() {
  myWorker.postMessage([first.value,second.value]);
  console.log('Message posted to worker');
}

myWorker.onmessage = function(e) {
  result.textContent = e.data;
  console.log('Message received from worker');
}

在工作人员中:

onmessage = function(e) {
  console.log('Message received from main script');
  var workerResult = 'Result: ' + (e.data[0] * e.data[1]);
  console.log('Posting message back to main script');
  postMessage(workerResult);
}