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é n'est pas Compatible car elle ne fonctionne pas dans certains des navigateurs les plus utilisés.
La méthode use() des instances de DisposableStack enregistre une valeur qui implémente le protocole de libération dans la pile.
La valeur à enregistrer dans la pile. Elle doit soit contenir une méthode [Symbol.dispose](), soit être null ou undefined.
La même valeur value qui a été passée en argument.
Levée si value n'est pas null ou undefined, et ne contient pas de méthode [Symbol.dispose]().
ReferenceErrorLevée si la pile est déjà libérée.
L'objectif principal de use() est d'enregistrer une valeur qui implémente le protocole de libération dans la pile, comme l'équivalent de la déclaration using. Si la valeur n'implémente pas le protocole de libération (elle ne possède pas la méthode [Symbol.dispose]()), utilisez adopt() à la place, en passant une fonction de rappel qui appelle la méthode de nettoyage de la ressource.
Vous devez enregistrer votre ressource dès sa déclaration. Cela signifie que vous devez toujours envelopper l'expression d'acquisition de la ressource dans use(), au lieu de l'extraire dans une instruction séparée.
Ce code consomme un ReadableStream via un ReadableStreamDefaultReader. Le lecteur est automatiquement fermé lorsque la fonction se termine, en supposant qu'il implémente une méthode [Symbol.dispose]() qui libère le verrou sur le flux de façon synchrone.
| ECMAScript Async Explicit Resource Management # sec-disposablestack.prototype.use |
Activez JavaScript pour afficher ce tableau de compatibilité des navigateurs.
Cette page a été modifiée le 21 févr. 2026 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.