Versprechen (engl. Promises) in Node.js sind ein Weg, asynchronen Code zu handhaben. Statt Callback-Funktionen zu verwenden, können Sie Promises verwenden, um eine asynchrone Operation zu repräsentieren, die entweder abgeschlossen oder fehlgeschlagen ist.
Hier ist ein einfaches Beispiel, wie Sie Promises in Node.js verwenden können:
```javascript
let promise = new Promise(function(resolve, reject) {
// eine asynchrone Operation durchführen und dann…
promise.then(function(result) {
console.log(result); // “Ergebnis“
}, function(err) {
console.log(err); // Error: “Fehler“
});
```
In diesem Beispiel erstellen wir ein neues Promise-Objekt. Der Konstruktor für ein Promise nimmt eine Funktion als Parameter, die wiederum zwei Parameter akzeptiert: eine resolve und eine reject Funktion.
Wenn Ihre asynchrone Operation erfolgreich ist, rufen Sie die resolve Funktion mit dem Ergebnis auf. Wenn die Operation fehlschlägt, rufen Sie die reject Funktion auf und übergeben Sie den Fehler.
Das Promise-Objekt bietet eine then Methode an, die Sie verwenden können, um Callbacks für den Erfolgsfall und den Fehlerfall zu registrieren. Es gibt auch eine catch Methode, um einen Callback nur für den Fehlerfall zu registrieren.
Mit der Verwendung von Promises können Sie asynchronen Code schreiben, der eher wie synchroner Code aussieht, wodurch er einfacher zu verstehen und zu warten sein kann.
Weitere Funktionen die Angewendet werden können sind die statischen Methoden von Promises : Promise.all(), Promise.race(), Promise.resolve(), Promise.reject().