[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/AsyncIterator [Back]  [Original]

AsyncIterator - JavaScript | MDN

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 English Always switch to English

AsyncIterator

Baseline Large disponibilit *

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

* Certaines parties de cette fonctionnalit peuvent bnficier de prise en charge variables.

Un objet AsyncIterator est un objet conforme au protocole d'itrateur asynchrone en fournissant une mthode next() qui retourne une promesse rsolue par un objet de rsultat d'itration. L'objet AsyncIterator.prototype est un objet global cach dont hritent tous les itrateurs asynchrones natifs. Il fournit une mthode [Symbol.asyncIterator]() qui retourne l'objet itrateur asynchrone luimme, rendant ainsi l'itrateur asynchrone galement un itrable asynchrone.

Notez que AsyncIterator n'est pas un objet global, mme si la proposition des assistants d'itrateurs asynchrones (angl.) prvoit d'introduire des APIs similaires l'avenir. L'objet AsyncIterator.prototype partag par tous les itrateurs asynchrones natifs peut tre obtenu avec le code suivant :

js
const AsyncIteratorPrototype = Object.getPrototypeOf(
  Object.getPrototypeOf(Object.getPrototypeOf((async function* () {})())),
);

Dans cet article

Description

Actuellement, le seul itrateur asynchrone natif de JavaScript est l'objet AsyncGenerator retourn par les fonctions gnratrices asynchrones. Certaines API Web fournissent galement des itrateurs asynchrones natifs, par exemple celui d'un ReadableStream.

Chacun de ces itrateurs asynchrones possde un prototype distinct, qui dfinit la mthode next() utilise par cet itrateur particulier. Tous ces prototypes hritent de AsyncIterator.prototype, lequel fournit une mthode [Symbol.asyncIterator]() retournant l'itrateur asynchrone luimme, rendant l'itrateur galement itrable asynchrone.

Note : AsyncIterator.prototype n'implmente pas [Symbol.iterator](), donc les itrateurs asynchrones ne sont pas des itrables synchrones par dfaut.

Mthodes d'instance

AsyncIterator.prototype[Symbol.asyncDispose]()

Appelle et attend la mthode return() de this, si elle existe. Cela implmente le protocole d'limination asynchrone et permet sa libration lorsqu'il est utilis avec await using.

AsyncIterator.prototype[Symbol.asyncIterator]()

Retourne l'objet itrateur asynchrone luimme. Cela permet aux objets itrateurs asynchrones d'tre galement itrables asynchrones.

Exemples

Utiliser un itrateur asynchrone comme itrable asynchrone

Tous les itrateurs asynchrones natifs sont aussi itrables asynchrones, vous pouvez donc les utiliser dans une boucle for await...of :

js
const asyncIterator = (async function* () {
  yield 1;
  yield 2;
  yield 3;
})();
(async () => {
  for await (const value of asyncIterator) {
    console.log(value);
  }
})();
// Affiche : 1, 2, 3

Spcifications

Spcification
ECMAScript 2027 LanguageSpecification
# sec-asynciteratorprototype

Compatibilit des navigateurs

Voir aussi


Web Proxy Viewer  |  New URL  |  Original Page