Iterator : méthode [Symbol.dispose]()
Limited availability
Cette fonctionnalité n'est pas Compatible car elle ne fonctionne pas dans certains des navigateurs les plus utilisés.
La méthode [Symbol.dispose]() des instances de Iterator implémente le protocole de disposition et permet de disposer de l'itérateur lorsqu'il est utilisé avec using. Elle appelle la méthode return() de this, si elle existe.
Syntaxe
js
iterator[Symbol.dispose]()
Paramètres
Aucun.
Valeur de retour
Aucune (undefined).
Exemples
>Déclarer un itérateur avec using
La méthode Symbol.dispose est destinée à être appelée automatiquement dans une déclaration using. Cela est utile si vous avez un itérateur que vous parcourez manuellement en appelant sa méthode next() ; si vous l'itérer avec for...of ou quelque chose de similaire, alors la gestion des erreurs et le nettoyage sont effectués automatiquement.
js
function* genererNombres() {
try {
yield 1;
yield 2;
yield 3;
} finally {
console.log("Nettoyage");
}
}
function faireQuelqueChose() {
using numbers = genererNombres();
const res1 = numbers.next();
// Ne pas iterer le reste des nombres
// Avant la fin de la fonction, l'iterateur asynchrone est dispose
// Affiche "Nettoyage"
}
faireQuelqueChose();
Spécifications
| Specification |
|---|
| ECMAScript Async Explicit Resource Management> # sec-%iteratorprototype%-@@dispose> |
Compatibilité des navigateurs
Voir aussi
- Prothèse d'émulation de
Iterator.prototype[Symbol.dispose]danscore-js - Gestion des ressources en JavaScript
- La propriété statique
Symbol.dispose - La déclaration
using