Middle
Web İşçiləri nədir və onlar nə üçün lazımdır?
sobes.tech Süni İntellekt
AI-dan cavab
Web Workers resurslardan intensiv istifadə edən əməliyyatları fon axınlarında yerinə yetirməyə imkan verir, bu da JavaScript-in əsas icra axinini bloklamadan istifadəçi interfeysinin yenilənməsini təmin edir. Bu, səhifənin donmasının qarşısını alır və tətbiqin cavabvermə qabiliyyətini artırır, xüsusən böyük məlumat həcmləri, hesablamalar və ya şəbəkə sorğuları ilə işləyərkən.
Əsas Worker növləri:
- Təyin olunmuş Worker:
new Worker('worker.js')ilə yaradılır. Yalnız onu yaradan səhifə ilə işləyir və bu səhifənin skriptindən birbaşa idarə olunur. - Paylaşılan Worker:
new SharedWorker('worker.js')ilə yaradılır. Eyni mənbədən olan müxtəlif pəncərələr və ya tablar arasında istifadə oluna bilər. - Xidmət Worker: Brauzer və şəbəkə arasında proxy kimi işləyir. Resursların keşiklenməsi, müstəqil işləmə və push bildirişlərinin həyata keçirilməsi üçün istifadə olunur.
Əsas axın və Worker arasında ünsiyyət asinxron olaraq mesajlar vasitəsilə həyata keçirilir:
postMessage(): bir axından digərinə məlumat göndərmək üçün.onmessagehadisə idarəedicisi: digər axında məlumat almaq üçün.
Web Workers-in məhdudiyyətləri:
- Birbaşa DOM-ya giriş imkanları yoxdur.
windowvədocumentobyektlərinə giriş imkanları yoxdur.- Əsas axının bəzi qlobal dəyişənlərinə və funksiyalarına giriş imkanları yoxdur.
Təyin olunmuş Worker istifadəsi nümunəsi:
// main.js
const worker = new Worker('worker.js');
worker.addEventListener('message', (event) => {
console.log('Worker-dən alınan mesaj:', event.data);
});
worker.postMessage('Əsas axımdan salam!');
// worker.js
self.addEventListener('message', (event) => {
console.log('Əsas axımdan alınan mesaj:', event.data);
self.postMessage('Worker-dən salam!');
});