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 bénéficier de prise en charge variables.
Un objet AsyncIterator est un objet conforme au protocole d'itérateur asynchrone en fournissant une méthode next() qui retourne une promesse résolue par un objet de résultat d'itération. L'objet AsyncIterator.prototype est un objet global caché dont héritent tous les itérateurs asynchrones natifs. Il fournit une méthode [Symbol.asyncIterator]() qui retourne l'objet itérateur asynchrone lui‑même, rendant ainsi l'itérateur asynchrone également un itérable asynchrone.
Notez que AsyncIterator n'est pas un objet global, même si la proposition des assistants d'itérateurs asynchrones (angl.) prévoit d'introduire des APIs similaires à l'avenir. L'objet AsyncIterator.prototype partagé par tous les itérateurs asynchrones natifs peut être obtenu avec le code suivant :
Actuellement, le seul itérateur asynchrone natif de JavaScript est l'objet AsyncGenerator retourné par les fonctions génératrices asynchrones. Certaines API Web fournissent également des itérateurs asynchrones natifs, par exemple celui d'un ReadableStream.
Chacun de ces itérateurs asynchrones possède un prototype distinct, qui définit la méthode next() utilisée par cet itérateur particulier. Tous ces prototypes héritent de AsyncIterator.prototype, lequel fournit une méthode [Symbol.asyncIterator]() retournant l'itérateur asynchrone lui‑même, rendant l'itérateur également itérable asynchrone.
Note : AsyncIterator.prototype n'implémente pas [Symbol.iterator](), donc les itérateurs asynchrones ne sont pas des itérables synchrones par défaut.
Appelle et attend la méthode return() de this, si elle existe. Cela implémente le protocole d'élimination asynchrone et permet sa libération lorsqu'il est utilisé avec await using.
AsyncIterator.prototype[Symbol.asyncIterator]()Retourne l'objet itérateur asynchrone lui‑même. Cela permet aux objets itérateurs asynchrones d'être également itérables asynchrones.
Tous les itérateurs asynchrones natifs sont aussi itérables asynchrones, vous pouvez donc les utiliser dans une boucle for await...of :
| ECMAScript® 2027 Language Specification # sec-asynciteratorprototype |
Activez JavaScript pour afficher ce tableau de compatibilité des navigateurs.
Cette page a été modifiée le 13 déc. 2025 par les contributeur·ice·s du MDN.
Votre modèle pour un internet meilleur.
Visitez la société mère à but non lucratif de Mozilla Corporation, la Fondation Mozilla.
Certaines parties de ce contenu sont protégées par le droit d'auteur ©1998—2026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.