| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/AsyncIterator | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
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 :
const AsyncIteratorPrototype = Object.getPrototypeOf(
Object.getPrototypeOf(Object.getPrototypeOf((async function* () {})())),
);
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.
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.
Tous les itrateurs asynchrones natifs sont aussi itrables asynchrones, vous pouvez donc les utiliser dans une boucle for await...of :
const asyncIterator = (async function* () {
yield 1;
yield 2;
yield 3;
})();
(async () => {
for await (const value of asyncIterator) {
console.log(value);
}
})();
// Affiche : 1, 2, 3
| Spcification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-asynciteratorprototype |
async function*Cette page a t modifie le 13 dc. 2025 par les contributeurices du MDN.
AsyncIteratorObject/FunctionObject.prototype.__defineGetter__()Object.prototype.__defineSetter__()Object.prototype.__lookupGetter__()Object.prototype.__lookupSetter__()Object.prototype.hasOwnProperty()Object.prototype.isPrototypeOf()Object.prototype.propertyIsEnumerable()Object.prototype.toLocaleString()Object.prototype.toString()Object.prototype.valueOf()Certaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |