መፍትሄ: setInterval በአሳሹ ዳራ ውስጥ በመደበኛነት ሊሠራ አይችልም.

ዋቢ

Worker

"የድር ሰራተኛ" ምንድን ነው

"የድር ሰራተኛ" ለድር ይዘት በስተጀርባ ክር ውስጥ ስክሪፕቶችን ለማሄድ ቀለል ያለ መንገድ ይሰጣል። ክሮች የተጠቃሚ በይነገጽን ሳይረብሹ ተግባሮችን ማከናወን ይችላሉ ፡፡ በተጨማሪም ፣ XMLHttpRequest ን በመጠቀም I / O ማከናወን ይችላሉ ፡፡ አንድ ሰራተኛ ከተፈጠረ በኋላ መልዕክቱን ለፈጠረው የጃቫስክሪፕት ኮድ መላክ ይችላል ፣ መልእክቱን በኮድ ለተጠቀሰው የዝግጅት አያያዝ (እና በተቃራኒው) ፡፡

መመሪያዎች

ከዚህ በታች ባለው የናሙና ኮድ ውስጥ በጣም ቀላሉን ቆጣሪ ተግባራዊ እና በየ 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");
        

መደበኛ አጠቃቀም

ከላይ በምሳሌው ላይ እኛ “creatObjectURL” ን በመጠቀም አድራሻ ፈጠርን ፡፡ ልንፈጽመው የሚገባን ኮድ በአንፃራዊነት ቀላል ስለሆነ ይህ ዘዴ የበለጠ አጭር ይሆናል ፡፡ እኛ ልንፈጽመው የሚገባን ተግባር ውስጥ ያለው ኮድ ይበልጥ የተወሳሰበ በሚሆንበት ጊዜ ተግባሩን እንደ ገለልተኛ የ js ፋይል በተናጠል ልንጽፈው እንችላለን ፡፡ ለዝርዝሮች እባክዎ የሚከተሉትን ኮድ ይመልከቱ ፡፡ የበለጠ ዝርዝር መግቢያዎች አሉ ፣ በጽሁፉ አናት ላይ ያሉትን የማጣቀሻ ቁሳቁሶች ማመልከት ይችላሉ ፡፡

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