WorkerGlobalScope
L'interface WorkerGlobalScope
de l'API Web Workers est une interface représentant la portée de tout worker. Les Workers n'ont pas de contexte de navigation; cette portée contient les informations généralement véhiculées par les objets Window
— dans ce cas les gestionnaires d'événements, la console ou l'objet WorkerNavigator
associé. Chaque WorkerGlobalScope
a sa propre boucle d'événements.
Cette interface est généralement spécialisée par chaque type de worker : DedicatedWorkerGlobalScope
pour les workers dédiés, SharedWorkerGlobalScope
pour les workers partagés, et ServiceWorkerGlobalScope
pour ServiceWorker. La propriété self
renvoie la portée spécialisée pour chaque contexte.
Propriétés
Cette interface hérite des propriétés de l'interface EventTarget
et implémente les propriétés de WindowTimers
, WindowBase64
, et WindowEventHandlers
.
Propriétés standard
-
Renvoie le
WorkerNavigator
associé au worker. C'est un objet navigator spécifique, principalement un sous-ensemble deNavigator
pour la navigation dans les portées, mais adapté aux workers. WorkerGlobalScope.self
Lecture seule-
Renvoie une référence au
WorkerGlobalScope
lui-même. La plupart du temps, il s'agit d'une portée spécifique commeDedicatedWorkerGlobalScope
,SharedWorkerGlobalScope
ouServiceWorkerGlobalScope
. WorkerGlobalScope.location
Lecture seule-
Renvoie le
WorkerLocation
associé au worker. Il s'agit d'un objet de localisation spécifique, principalement un sous-ensemble deLocation
pour les portées de navigation, mais adapté aux workers.
Propriétés non standard
WorkerGlobalScope.performance
Lecture seule Non standard-
Renvoie la
Performance
associée au worker. Il s'agit d'un objet de performance standard, sauf que seul un sous-ensemble de sa propriété et de ses méthodes est disponible pour les nœuds de calcul. WorkerGlobalScope.console
Lecture seule Non standard-
Renvoie la
Console
associée au worker.
Gestionnaires d'événements
Cette interface hérite des gestionnaires d'événements de l'interface EventTarget
et implémente les gestionnaires d'événements de WindowTimers
et WindowBase64
.
WorkerGlobalScope.onerror
-
Est un
EventHandler
représentant le code à appeler lorsque l'événementerror
est déclenché. WorkerGlobalScope.onoffline
-
Est un
EventHandler
représentant le code à appeler lorsque l'événementoffline
est déclenché. WorkerGlobalScope.ononline
-
Est un
EventHandler
représentant le code à appeler lorsque l'événementonline
est déclenché. WorkerGlobalScope.onlanguagechange
-
Un
EventHandler
déclenché sur l'objet de portée global / worker lorsque les langues préférées de l'utilisateur changent.
Méthodes
Cette interface hérite des méthodes de l'interface EventTarget
et implémente les méthodes de WindowTimers
, WindowBase64
, WindowEventHandlers
et GlobalFetch
.
Méthodes standard
WorkerGlobalScope.close()
-
Ignore toutes les tâches mises en file d'attente dans la boucle d'événements de
WorkerGlobalScope
, fermant ainsi cette portée particulière. WorkerGlobalScope.importScripts()
-
Importe un ou plusieurs scripts dans la portée du worker. Vous pouvez en spécifier autant que vous le souhaitez, séparés par des virgules. Par exemple :
importScripts('foo.js', 'bar.js');
Méthodes non standard
WorkerGlobalScope.dump()
Non standard-
Vous permet d'écrire un message stdout — c'est-à-dire dans votre terminal. C'est la même chose que
window.dump
de Firefox, mais pour les workers.
Méthodes mises en œuvre d'ailleurs
WindowBase64.atob()
-
Décode une chaîne de données qui a été encodée à l'aide d'un encodage base 64.
WindowBase64.btoa()
-
Crée une chaîne ASCII encodée en base 64 à partir d'une chaîne de données binaires.
WindowTimers.clearInterval()
-
Annule l'exécution répétée définie à l'aide de
WindowTimers.setInterval ()
. WindowTimers.clearTimeout()
-
Annule l'exécution répétée définie à l'aide de
WindowTimers.setTimeout ()
. GlobalFetch.fetch()
-
Démarre le processus de récupération d'une ressource.
WindowTimers.setInterval()
-
Planifie l'exécution d'une fonction toutes les X millisecondes.
WindowTimers.setTimeout()
-
Définit un délai pour l'exécution d'une fonction.
Exemple
Vous n'accéderez pas à WorkerGlobalScope
directement dans votre code; cependant, ses propriétés et méthodes sont héritées par des portées globales plus spécifiques telles que DedicatedWorkerGlobalScope
et SharedWorkerGlobalScope
. Par exemple, vous pouvez importer un autre script dans le worker et imprimer le contenu de l'objet navigator
de l'étendue du worker en utilisant les deux lignes suivantes:
importScripts("foo.js");
console.log(navigator);
Note :
Étant donné que la portée globale du script de worker est effectivement la portée globale du worker que vous exécutez (DedicatedWorkerGlobalScope
ou autre) et que toutes les portées globales de worker héritent des méthodes, des propriétés, etc. À partir de WorkerGlobalScope
, vous pouvez exécuter des lignes telles que celles ci-dessus sans spécifier d'objet parent.
Spécifications
Specification |
---|
HTML Standard # the-workerglobalscope-common-interface |
Compatibilité des navigateurs
BCD tables only load in the browser
Voir aussi
- Autre interface d'objet globale:
Window
,DedicatedWorkerGlobalScope
,SharedWorkerGlobalScope
, ,ServiceWorkerGlobalScope
- Autres interfaces liées aux travailleurs:
Worker
,WorkerLocation
,WorkerGlobalScope
, etServiceWorkerGlobalScope
. - Utilisation de web workers.