Yankho: setInterval sangathe kuthamanga mozungulira kumbuyo kwa osatsegula.

Kutchulidwa

Worker

Kodi "Web Worker" ndi chiyani?

"Web Worker" imapereka njira yosavuta kuti zinthu zapaintaneti ziziyendetsa zolembedwa kumbuyo. Zingwe zimatha kugwira ntchito popanda kusokoneza mawonekedwe. Kuphatikiza apo, amatha kuchita I / O pogwiritsa ntchito XMLHttpRequest. Akalengedwa, wogwira ntchito atha kutumiza uthenga ku chikhodi cha JavaScript chomwe adachipanga, potumiza uthengawo kwa owongolera zochitika zomwe zanenedwa ndi code (komanso mosemphanitsa).

Malangizo

Mu code yomwe ili pansipa, timagwiritsa ntchito nthawi yosavuta kwambiri ndikulola kuti iziyambitsa ma millisecond 100 aliwonse.

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

Kugwiritsa ntchito koyenera

Mu chitsanzo chapamwambapa, tidapanga adilesi pogwiritsa ntchito createObjectURL.Kuti malamulo omwe tikufunika kuchita ndi osavuta, njirayi idzakhala yachidule kwambiri. Ma code omwe tili pantchito yomwe tikufunika kuchita ndi ovuta kwambiri, titha kulemba ntchitoyi padera ngati fayilo yodziyimira ya js. Kuti mumve zambiri, chonde lembani ku code iyi. Pali zowonjezera zambiri, mutha kutanthauzira zomwe zili pamwambapa.

            var timmer = new Worker('worker.js');