我搜索了很多,但没有找到合适的答案。我真正想要的是执行一个方法,该方法执行大量矩阵计算,大约需要 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/