javascript / expert
Snippet
Explizites Ressourcenmanagement mit 'using'
Explizites Ressourcenmanagement (ERM) führt das Schlüsselwort 'using' ein, um Ressourcen wie Dateihandles oder Datenbankverbindungen zu verwalten. Es stellt sicher, dass Ressourcen sofort beim Verlassen eines Gültigkeitsbereichs freigegeben werden, was Speicherlecks reduziert und manuelle Aufräumarbeiten in try/finally-Blöcken vermeidet.
snippet.js
1
2
3
4
5
6
7
8
9
10
11
12
13
class DatabaseConnection {#client;constructor(uri) { this.#client = connect(uri); }[Symbol.dispose]() {this.#client.close();console.log('Connection closed automatically');}}{using db = new DatabaseConnection('mongodb://localhost:27017');// Use db here...} // Scope ends, [Symbol.dispose] is called automatically
nodejs
Erklärung
1
[Symbol.dispose]() { ... }
Definiert die synchrone Bereinigungslogik für das Objekt.
2
using db = new DatabaseConnection(...)
Bindet die Ressource an den aktuellen Block-Scope für eine automatische Freigabe.