今日、私は JavaScript での Web ワーカーの世界を紹介されました。これは私にタイマーについて再考させました。私はタイマーをこのように醜い方法でプログラムしていました。
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();
私のウェブサイトでライブデモを見ることもできます。