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 :
DedicatedWorkerGlobalScopepour les workers dédiésSharedWorkerGlobalScopepour les workers partagésServiceWorkerGlobalScopepour 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
CryptoCustomEvent- Évènements émis par le serveur
FetchFileReaderFileReaderSync(fonctionne uniquement dans les workers)FormDataImageDataIndexedDB- API Network Information
NotificationsPerformancePerformanceEntryPerformanceMeasurePerformanceMarkPerformanceObserverPerformanceResourceTimingPromiseServiceWorkerRegistrationTextEncoderetTextDecoderURL- WebGL avec
OffscreenCanvas(activé via une préférencegfx.offscreencanvas.enabled) WebSocketXMLHttpRequest(bien que les attributsresponseXMLetchannelvaillent toujoursnull).
Les workers peuvent également engendrer d'autres workers et les API suivantes sont donc disponibles :