Fonctions et classes disponibles dans les web workers
En plus de l'ensemble des fonctions standard JavaScript (telles que String
, Array
, Object
, JSON
, etc.), des fonctions du DOM sont disponibles pour les workers. Cet article en fournit la liste.
Contextes et fonctions des relatifs aux workers
Les workers s'exécutent dans un contexte global différent de celui de la fenêtre courante ! Bien que Window
ne soit pas directement accessible depuis les workers, de nombreuses méthodes en commun sont définies sur un mixin partagé (WindowOrWorkerGlobalScope
), et disponibles pour les workers via les contextes dérivés de WorkerGlobalScope
:
DedicatedWorkerGlobalScope
pour les workers dédiésSharedWorkerGlobalScope
pour les workers partagésServiceWorkerGlobalScope
pour les service workers
Certaines des fonctions qui sont accessibles depuis tous les types de service workers et depuis le fil d'exécution principal (via WindowOrWorkerGlobalScope
) sont :
atob()
btoa()
clearInterval()
clearTimeout()
dump()
Non standardsetInterval()
setTimeout()
Les fonctions suivantes sont uniquement disponibles pour les pour les workers :
WorkerGlobalScope.importScripts()
(pour tous les workers),DedicatedWorkerGlobalScope.postMessage
(workers dédiés uniquement).
Les API web disponibles pour les workers
Note : Si une API listée ici est prise en charge par une plateforme donnée pour une version donnée, on peut généralement partir du principe que l'API fonctionnera pour les web workers.
Les API web suivantes sont disponibles pour les workers :
- API Broadcast Channel
- API Cache
- API Channel Messaging
- API Console
Crypto
CustomEvent
- Évènements émis par le serveur
Fetch
FileReader
FileReaderSync
(fonctionne uniquement dans les workers)FormData
ImageData
IndexedDB
- API Network Information
Notifications
Performance
PerformanceEntry
PerformanceMeasure
PerformanceMark
PerformanceObserver
PerformanceResourceTiming
Promise
ServiceWorkerRegistration
TextEncoder
etTextDecoder
URL
- WebGL avec
OffscreenCanvas
(activé via une préférencegfx.offscreencanvas.enabled
) WebSocket
XMLHttpRequest
(bien que les attributsresponseXML
etchannel
vaillent toujoursnull
).
Les workers peuvent également engendrer d'autres workers et les API suivantes sont donc disponibles :