Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. Les API Web
  3. Window
  4. queueMicrotask()

Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in EnglishAlways switch to English

queueMicrotask()

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2020.

La méthodequeueMicrotask(), exposée par l'interfaceWindow ou l'ouWorker, met en file d'attente une micro-tâche qui doit être exécutée à un moment sûr avant que le contrôle soit retourné à la boucle d'évènements du navigateur.

La micro-tâche est une fonction courte qui doit être exécutée après que la tâche actuelle ait terminé son exécution et lorsqu'il n'y a pas d'autre code en attente d'exécution avant que le contrôle du contexte d'exécution soit retourné à la boucle d'évènements du navigateur.

Cela permet à votre code de fonctionner sans interférer avec un autre code, dont la priorité est potentiellement plus haute, en attente, et avant que le navigateur ne regagne le contrôle du contexte d'exécution, qui dépend potentiellement de la tâche que vous devez effectuer. Vous pouvez en apprendre plus sur l'utilisation des micro-tâches et les raisons de leur utilisation dansle guide sur les micro-tâches.

L'importance des micro-tâches vient de leur possibilité d'effectuer des tâches de manière asynchrone mais dans un ordre spécifique. VoirUtiliser les micro-tâches en JavaScript avecqueueMicrotask() pour plus de détails.

Les micro-tâches sont particulièrement utiles pour les bibliothèques et lesframeworks qui doivent effectuer un nettoyage final ou d'autres tâches à exécuter avant le rendu.

Syntaxe

js
queueMicrotask(function)

Paramètres

function

Unefonction qui doit être exécutée lorsque le moteur du navigateur détermine qu'il est sûr d'appeler votre code. Les micro-tâches mises en files d'attente sont exécutées après la fin de toutes les tâches en attente et avant de céder le contrôle à la boucle d'évènements du navigateur.

Valeur de retour

Aucune (undefined).

Exemples

js
self.queueMicrotask(() => {  // Le contenu de la fonction à appeler  // comme micro-tâche});

Tiré de laspécification dequeueMicrotask() :

js
MyElement.prototype.loadData = function (url) {  if (this._cache[url]) {    queueMicrotask(() => {      this._setData(this._cache[url]);      this.dispatchEvent(new Event("load"));    });  } else {    fetch(url)      .then((res) => res.arrayBuffer())      .then((data) => {        this._cache[url] = data;        this._setData(data);        this.dispatchEvent(new Event("load"));      });  }};

LorsquequeueMicrotask() n'est pas disponible

Le code ci-dessous est une prothèse d'émulation (polyfill) pourqueueMicrotask(). Il crée une micro-tâche en utilisant une promesse qui se résout immédiatement, et, si la promesse ne peut pas être créée, utilise un minuteur.

js
if (typeof self.queueMicrotask !== "function") {  self.queueMicrotask = function (callback) {    Promise.resolve()      .then(callback)      .catch((e) =>        setTimeout(() => {          throw e;        }),      ); // gérer les exceptions  };}

Spécifications

Specification
HTML
# microtask-queuing

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2026 Movatter.jp