Ojutu: setInterval ko le ṣiṣẹ deede ni abẹlẹ ti ẹrọ lilọ kiri ayelujara.
Itọkasi
WorkerKini "Oṣiṣẹ wẹẹbu"
"Osise Wẹẹbu" n pese ọna ti o rọrun fun akoonu wẹẹbu lati ṣiṣẹ awọn iwe afọwọkọ ninu okun abẹlẹ. Awọn okun le ṣe awọn iṣẹ laisi idamu wiwo olumulo. Ni afikun, wọn le ṣe I / O ni lilo XMLHttpRequest. Lọgan ti a ṣẹda, oṣiṣẹ kan le fi ifiranṣẹ ranṣẹ si koodu JavaScript ti o ṣẹda rẹ, nipa fifiranṣẹ ifiranṣẹ si olutọju iṣẹlẹ ti a ṣalaye nipasẹ koodu (ati idakeji).
Awọn ilana
Ninu koodu apẹẹrẹ ni isalẹ, a ṣe agbekalẹ aago ti o rọrun julọ ati jẹ ki o ma nfa ni gbogbo awọn milliseconds 100.
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");
Standard lilo
Ninu apẹẹrẹ ti o wa loke, a ṣẹda adirẹsi nipa lilo createObjectURL. Niwọn igba ti koodu ti a nilo lati ṣiṣẹ jẹ o rọrun diẹ, ọna yii yoo jẹ ṣoki diẹ sii. Nigbati koodu ninu iṣẹ ṣiṣe ti a nilo lati ṣe jẹ idiju diẹ sii, a le kọ iṣẹ naa lọtọ bi faili js olominira kan. Fun awọn alaye, jọwọ tọka si koodu atẹle. Awọn ifihan alaye diẹ sii wa, o le tọka si awọn ohun elo itọkasi ni oke ti nkan naa.
var timmer = new Worker('worker.js');