今天我被介绍到 JavaScript 中的 Web Workers 的世界。这让我重新思考了计时器。我曾经以丑陋的方式对计时器进行编程,就像这样。
var time = -1;
function timerTick()
{
time++;
setTimeout("timerTick()",1000);
$("#timeI").html(time);
}
我知道这可以通过保存启动计时器的日期来改善,但我从来都不喜欢这样做。
现在我想出了一个使用 Web Workers 的方法,我做了一个小基准测试,发现它更可靠。由于我不是 JavaScript 方面的专家,我想知道这个函数是否正常工作或者它可能有什么问题提前感谢。
我的 JavaScript 代码(请注意我使用 JQuery):
$(function() {
//-- Timer using web worker.
var worker = new Worker('scripts/task.js'); //External script
worker.onmessage = function(event) { //Method called by external script
$("#timeR").html(event.data)
};
};
外部脚本('scripts/task.js'):
var time = -1;
function timerTick()
{
time++;
setTimeout("timerTick()",1000);
postMessage(time);
}
timerTick();
您还可以在我的网站上查看现场演示。