AsyncDisposableStack.prototype.use()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Phương thức use() của các instance AsyncDisposableStack đăng ký một giá trị triển khai giao thức async disposable vào ngăn xếp.
Xem DisposableStack.prototype.use() để biết thông tin chung về phương thức use().
Cú pháp
use(value)
Tham số
value-
Giá trị cần đăng ký vào ngăn xếp. Phải chứa phương thức
[Symbol.asyncDispose]()hoặc[Symbol.dispose](), hoặc lànullhoặcundefined.
Giá trị trả về
Cùng value đã được truyền vào.
Ngoại lệ
TypeError-
Ném ra nếu
valuekhông phải lànullhoặcundefined, và không chứa phương thức[Symbol.asyncDispose]()hoặc[Symbol.dispose](). ReferenceError-
Ném ra nếu ngăn xếp đã bị hủy.
Ví dụ
>Sử dụng use()
Hàm này đọc một file (là một Node.js FileHandle) và trả về nội dung của nó. File handle được tự động đóng khi hàm hoàn thành, vì class FileHandle triển khai phương thức [Symbol.asyncDispose]() để đóng file một cách bất đồng bộ.
async function readFileContents(path) {
await using disposer = new AsyncDisposableStack();
const handle = disposer.use(await fs.open(path));
const data = await handle.read();
return data;
// The disposer is disposed here, which causes handle to be closed too
}
Đặc tả
| Specification |
|---|
| ECMAScript Async Explicit Resource Management> # sec-asyncdisposablestack.prototype.use> |