Fallstricke in Promise‑Dokumentation
Vermeidung von Problemen mit gängigen Dokumentationen
Spotting Promise Anti-Patterns in google search results, and popular libraries.

Ich fange mit einem Geständnis an: Ich habe dieselben „Anti‑Patterns“ geschrieben, die ich unten kritisiere, und das tun vermutlich viele JS‑Entwickler ebenfalls. Nichts, was ich hier darstelle, ist persönlich gemeint oder richtet sich gegen die ursprünglichen Autoren. Ich führe lediglich einen Code‑Review gängiger Muster durch – ich hoffe, damit meine Prioritäten und mein kritisches Denkverfahren zu vermitteln.
Hoffentlich können Sie nach dem Durcharbeiten dieses Projekts die Warnsignale schlechter Promises erkennen.
CallbackHell.com
CREDIT: http://callbackhell.com/
StrongLoop
CREDIT:
https://strongloop.com/strongblog/node-js-callback-hell-promises-generators/
RisingStack
CREDIT: https://blog.risingstack.com/node-js-async-best-practices-avoiding-callback-hell-node-js-at-scale/ Das ist ein ziemlich solides Stück. Ich habe nur eine Anmerkung:

Q Library
CREDIT: https://github.com/kriskowal/q
Die Q‑Bibliothek ist eine der am häufigsten genutzten und ältesten, die mit „Promises“ in Verbindung gebracht wird. Deshalb leidet sie unter veralteten Beispielen und dem Zwang, Rückwärtskompatibilität zu erhalten.
Ich sage „mit ‚Promises‘ in Verbindung gebracht“, weil ich das Gefühl habe, Q dreht sich eigentlich um das deferred‑Muster.
Sie mag Promises ähneln, aber ich behaupte, sie ist es nicht. Sie hat aus völlig falschen Gründen eine viel zu große Oberfläche. Außerdem ist die Namenskonvention inkonsistent abgekürzt, was das Einprägen der API erschwert. Methoden wie when und done sind überflüssig.
Bottom line: Das deferred‑Muster ist ein schmerzhaftes Anti‑Pattern – es liefert praktisch keinen Mehrwert gegenüber dem üblichen Callback‑Ansatz.


Bitte schauen Sie sich das Begleit‑Github‑Projekt zu diesem Artikel an (und geben Sie ihm ein Sternchen): Escape From Callback Mountain
Projektziel: Forschung & Entwicklung besserer funktionaler Sprachmuster in JavaScript.

