Ojutu: setInterval ko le ṣiṣẹ deede ni abẹlẹ ti ẹrọ lilọ kiri ayelujara.

Itọkasi

Worker

Kini "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');