Код IT
← Каталог

Переменные в JavaScript — Создание собственных disposable объектов

Фрагмент из «Переменные в JavaScript»: Создание собственных disposable объектов.

JavaScript main.js
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 вызван автоматически