javascript在后台执行函数

标签 javascript multithreading alert

我搜索了很多,但没有找到合适的答案。我真正想要的是执行一个方法,该方法执行大量矩阵计算,大约需要 10 分钟。 5秒。当执行此方法时,我想显示一个简单的请等待警报或类似的内容。

这对于( native )javascript 是否可能,因为 js 是单线程的?

最佳答案

你想要做的是使用 webworker 。 示例:

//main.js
var myWorker = new Worker('worker.js');
myWorker.onmessage = function(e) { // function is called when calc is done
  result = e.data;
  // use result
  hideAlert();
}
myWorker.postMessage(calculationParams); // start calculation
showAlert();


//worker.js
onmessage = function(caluclationParams) { // calculation function
  // calculate
  postMessage(result);
}

关于javascript在后台执行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46455701/

相关文章:

javascript - 如何获取包含动态内容的页面的 html?

javascript - 每次单击按钮时推送和弹出值

c++ - 如何获取线程状态(例如挂起)、内存+CPU使用率、启动时间、优先级等

javascript - 我怎样才能使用 window.alert();但不显示隐藏元素?

javascript - 在 React + TypeScript 中将函数从容器传递到功能组件

javascript - JQuery $.extend 不像我期望的那样工作 : How to code this correctly?

java - 要打印 100,该怎么做?

Java - 取消同步函数上的排队调用

javascript - 为什么此警报不适用于 javascript?

javascript - 模拟 Javascript 'alert' 阻塞性质