JavaScript: Promises richtig einsetzen 11.01.2022, 07:51 Uhr

Keine falschen Versprechen

Promises erleichtern die asynchrone Programmierung. Doch es gibt einiges, was zu beachten ist.
(Quelle: Foto: StockEU / SHutterstock)
Die Einführung von Promises mit ES2015 hat die asynchrone Programmierung unter JavaScript nachhaltig verändert: Entwickler müssen sich nicht mehr länger mit Callbacks herumschlagen und Gefahr laufen, in der Callback Hell zu landen. Stattdessen kann asynchron arbeitender Code mit Hilfe von Promises sehr viel übersichtlicher gestaltet werden, insbesondere in Kombination mit den Schlüsselwörtern async und await, die mit der Version ES2018 in den ECMAScript-Standard aufgenommen wurden. Aber: auch beim Einsatz von Promises gibt es einiges zu beachten.
Grundsätzlich kapseln Promises Callback-Funktionen in Form von Objekten, mit denen sich dann bezüglich des Kontrollflusses so arbeiten lässt, wie man es aus der synchronen Programmierung gewohnt ist. Um ein Promise-Objekt zu erstellen, übergibt man dem entsprechenden Konstruktor zwei Callback-Funktionen: eine, die aufgerufen wird, wenn die asynchrone Operation erfolgreich ausgeführt wurde und eine zweite, die aufgerufen wird, wenn ein Fehler auftritt:
 

const promise = new Promise(

  (resolve, reject) => {

    // asynchrone Operation ausführen

    // wenn erfolgreich

    const result = {};

    resolve(result);

    // wenn Fehler:

    // reject(new Error('Ein Fehler ist aufgetreten'));

  }      

);

 

Jetzt 1 Monat kostenlos testen!

Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde.
  • + Digitales Kundenkonto,
  • + Zugriff auf das digitale Heft,
  • + Zugang zum digitalen Heftarchiv,
  • + Auf Wunsch: Weekly Newsletter,
  • + Sämtliche Codebeispiele im digitalen Heftarchiv verfügbar