我正在以下网站上学习有关Web Worker的教程-http://www.w3schools.com/html/html5_webworkers.asp

大多数事情对我来说都是清楚的,但我不知道使用setTimeout函数的目的是什么,以及postMessage(i)如何将i的值返回给w.onmessage

代码-

var i = 0;

function timedCount() {
    i = i + 1;
    postMessage(i);
    setTimeout("timedCount()",500);
}

timedCount();


谁能解释这个示例的工作流程吗?

最佳答案

setTimeout的目的是在500毫秒后调用timedCount。因为它是递归调用的,所以效果是每秒timedCount被调用两次。

还请注意,这将执行相同的操作:

var i = 0;

function timedCount() {
    i = i + 1;
    postMessage(i);
}

setInterval(timedCount, 500);

09-16 13:52