javascript / expert
Snippet
Explizite Ressourcenbereinigung über Symbol.dispose und using-Deklarationen
Das explizite Ressourcenmanagement führt das using-Schlüsselwort ein. Objekte, die Symbol.dispose implementieren, werden automatisch bereinigt, sobald die Gültigkeitsbereichs-Ausführung endet, was try/finally-Code überflüssig macht.
snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class TempFile {#path;constructor(path) {this.#path = path;}[Symbol.dispose]() {console.log(`Cleaned resource at ${this.#path}`);}}function processFile() {using file = new TempFile('/tmp/session.lock');console.log('Processing data...');}processFile();
nodejs
Erklärung
1
[Symbol.dispose]() {
Definiert die Standard-Bereinigungsmethode, die beim Verlassen des Blockes automatisch aufgerufen wird.
2
using file = new TempFile('/tmp/session.lock');
Bindet das Objekt mit dem using-Schlüsselwort, um den automatischen Abbau am Blockende zu garantieren.
3
console.log('Processing data...');
Führt die Hauptlogik aus, bevor am Ende des Blocks die automatische Bereinigung erfolgt.