தீர்வு: உலாவியின் பின்னணியில் 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");
        

நிலையான பயன்பாடு

மேலே உள்ள எடுத்துக்காட்டில், createObjectURL ஐப் பயன்படுத்தி ஒரு முகவரியை உருவாக்கியுள்ளோம். நாம் இயக்க வேண்டிய குறியீடு ஒப்பீட்டளவில் எளிமையானது என்பதால், இந்த முறை மிகவும் சுருக்கமாக இருக்கும். நாம் செயல்படுத்த வேண்டிய பணியில் உள்ள குறியீடு மிகவும் சிக்கலானதாக இருக்கும்போது, ​​பணியை ஒரு சுயாதீனமான js கோப்பாக தனித்தனியாக எழுதலாம். விவரங்களுக்கு, பின்வரும் குறியீட்டைப் பார்க்கவும். இன்னும் விரிவான அறிமுகங்கள் உள்ளன, நீங்கள் கட்டுரையின் மேலே உள்ள குறிப்பு பொருட்களைக் குறிப்பிடலாம்.

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