← Каталог
Переменные в JavaScript — Создание собственных disposable объектов
Фрагмент из «Переменные в JavaScript»: Создание собственных disposable объектов.
class AsyncResource {
async open() {
this.resource = await allocateResourceAsync();
}
async use() {
console.log("Использую асинхронный ресурс");
}
async disposeAsync() {
console.log("Освобождаю асинхронный ресурс");
await freeResourceAsync(this.resource);
}
}
// Использование
await using (const resource = new AsyncResource()) {
await resource.open();
await resource.use();
}
// disposeAsync вызван автоматически class AsyncResource {
async open() {
this.resource = await allocateResourceAsync();
}
async use() {
console.log("Использую асинхронный ресурс");
}
async disposeAsync() {
console.log("Освобождаю асинхронный ресурс");
await freeResourceAsync(this.resource);
}
}
// Использование
await using (const resource = new AsyncResource()) {
await resource.open();
await resource.use();
}
// disposeAsync вызван автоматически