Javascript与VBA的DoEvents有什么相似之处吗?

Get*_*ere 8 javascript jquery events vba

我的代码中有一个长时间运行for循环,我想延迟循环来处理事件队列中的其他任务(比如按下按钮).javascript或JQuery有什么可以帮助我吗?基本上我正在尝试做类似延迟循环的事情(https://support.microsoft.com/en-us/kb/118468).

Max*_*ter 6

如果您的应用程序确实需要长时间运行的JavaScript代码,那么处理它的最佳方法之一就是使用JavaScript Web worker.JavaScript代码通常在前台线程上运行,但是通过创建Web worker,您可以在后台线程上有效地保持长时间运行的进程,并且您的UI线程可以自由地响应用户输入.

例如,您创建一个像这样的新工作者:

var myWorker = new Worker("worker.js");
Run Code Online (Sandbox Code Playgroud)

然后,您可以从主页面中的js向其发布消息,如下所示:

myWorker.postMessage([first.value,second.value]);
console.log('Message posted to worker');
Run Code Online (Sandbox Code Playgroud)

worker.js像这样回复消息:

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);
}
Run Code Online (Sandbox Code Playgroud)