await using для асинхронного освобождения

Изменения в новых версиях / TypeScript 5.2

// *** in version 5.2: ***
class Connection implements AsyncDisposable {
    async [Symbol.asyncDispose]() {
        await this.close();
    }
    async close() { /* close the connection */ }
}

async function query() {
    await using conn = new Connection();
    // work with conn
} // waits here for conn[Symbol.asyncDispose]() before going on