// *** in version 5.2: ***
class Connection implements AsyncDisposable {
async [Symbol.asyncDispose]() {
await this.close();
}
async close() { /* закрыть соединение */ }
}
async function query() {
await using conn = new Connection();
// работа с conn
} // здесь дождётся conn[Symbol.asyncDispose]() перед продолжением