Tshuaj: setInterval tsis tuaj yeem khiav ib txwm li keeb kwm yav dhau los ntawm qhov browser.
Kev siv
WorkerDab tsi yog "Tus Ua Haujlwm Web"
"Web Worker" muab txoj hauv kev yooj yim rau cov vev xaib los khiav cov ntawv sau hauv keeb kwm yav dhau los. Xov tau tuaj yeem ua haujlwm tsis tas yuav cuam tshuam tus neeg siv interface. Ntxiv rau, lawv tuaj yeem ua I / O siv XMLHttpRequest. Ib zaug tsim, ib tus neeg ua haujlwm tuaj yeem xa lus rau lub JavaScript code uas tsim nws, los ntawm kev xa xov rau tus neeg saib xyuas qhov kev tshwm sim tau teev tseg los ntawm tus lej (thiab hloov rov qab).
Cov Lus Qhia
Hauv tus qauv kev cai hauv qab no, peb siv lub sijhawm yooj yim tshaj plaws thiab cia nws txhais txhua 100 milliseconds.
var timmer = new Worker(
URL.createObjectURL(
new Blob(
[
"onmessage=function(event){setInterval(function(){postMessage(1);},100)}",
],
{ type: "application/javascript" }
)
)
);
timmer.onmessage = function (event) {
console.log("get message");
};
timmer.postMessage("start");
Txuj siv
Hauv qhov piv txwv saum toj no, peb tsim ib qho chaw nyob uas siv createObjectURL Vim tias qhov chaws peb yuav tsum tau ua kom yooj yim, cov qauv no yuav zoo dua. Thaum cov cai hauv qhov haujlwm peb yuav tsum tau ua rau cov nyom ntau dua, peb tuaj yeem sau cov haujlwm ua nyias li kev ywj pheej js. Kom paub meej, thov saib cov cai hauv qab no. Muaj cov ncauj lus kom ntxaws ntxaws, koj tuaj yeem xa mus rau cov ntaub ntawv pov thawj siv nyob rau sab saum toj ntawm tsab xov xwm.
var timmer = new Worker('worker.js');