// *** 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