Zgjidhja: setInterval nuk mund të ekzekutohet normalisht në sfondin e shfletuesit.

Referenca

Worker

Çfarë është "Punëtori në internet"

"Punëtori i uebit" siguron një mënyrë të thjeshtë për përmbajtjen në internet për të ekzekutuar skriptet në një fije sfondi. Threads mund të kryejnë detyra pa prishur ndërfaqen e përdoruesit. Për më tepër, ata mund të kryejnë I / O duke përdorur XMLHttpRequest. Pasi të krijohet, një punëtor mund të dërgojë një mesazh në kodin JavaScript që e krijoi atë, duke postuar mesazhin te mbajtësi i ngjarjes i specifikuar nga kodi (dhe anasjelltas).

Udhëzimet

Në shembullin e kodit më poshtë, ne zbatojmë kohëmatësin më të thjeshtë dhe e lëmë të shkaktojë çdo 100 milisekonda.

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

Përdorimi standard

Në shembullin e mësipërm, ne krijuam një adresë duke përdorur createObjectURL. Meqenëse kodi që duhet të ekzekutojmë është relativisht i thjeshtë, kjo metodë do të jetë më koncize. Kur kodi në detyrën që duhet të ekzekutojmë është më i ndërlikuar, ne mund ta shkruajmë detyrën veçmas si një skedar i pavarur js. Për detaje, ju lutemi referojuni kodit vijues. Ka prezantime më të hollësishme, ju mund t'i referoheni materialeve të referencës në krye të artikullit.

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