Versprechen (Promises) in JavaScript (ES6) sind eine Funktion zur Handhabung von asynchronen Operationen. Sie können zum Beispiel für asynchrone Operationen wie das Lesen von Dateien oder das Abrufen von Daten von einer API verwendet werden.
Promises in Node.js können auf folgende Weise verwendet werden:
```javascript
// 1. Importieren Sie das Filesystem-Modul (um Versprechen mit Dateioperationen zu demonstrieren)
const fs = require(‘fs’);
// 2. Erstellen Sie ein Versprechen
let readTheFile = new Promise((resolve, reject) => {
fs.readFile(‘test.txt’, ‘utf8’, (err, data) => { // asynchrone Datei-Leseoperation
if (err) {
reject(err); // Wenn ein Fehler auftritt, wird das Versprechen abgelehnt
} else {
resolve(data); // Wenn die Operation erfolgreich ist, wird das Versprechen aufgelöst
}
});
});
// 3. Verwenden Sie das Versprechen
readTheFile.then(
data => console.log(data), // Wenn das Versprechen aufgelöst wird, wird dies ausgeführt
err => console.error(err) // Wenn das Versprechen abgelehnt wird, wird dies ausgeführt
)
```
In diesem Code erstellen wir ein Versprechen, das eine Datei liest. Wenn es erfolgreich ist, lösen wir das Versprechen mit den Daten aus der Datei auf. Wenn es einen Fehler gibt, lehnen wir das Versprechen mit dem Fehler ab.
Nachdem wir das Versprechen erstellt haben, können wir es mit der `then()` Methode verwenden. Die `then()` Methode nimmt zwei Funktionen als Parameter entgegen: Die erste wird ausgeführt, wenn das Versprechen aufgelöst wird, und die zweite, wenn das Versprechen abgelehnt wird. In diesem Fall drucken wir entweder die Daten aus der Datei oder den Fehler.
Promises stellen eine Alternative zu Callbacks dar und können insbesondere bei komplexeren Anforderungen zu deutlich saubererem und leichter lesbarem Code führen. Modernes JavaScript (und damit auch Node.js) bietet mit async/await-Konstrukten noch weitere Möglichkeiten zur Vereinfachung von asynchronem Code.