Unterschiede zwischen Deferreds, Promises und Futures in JavaScript
In JavaScript werden Deferreds, Promises und Futures häufig zur Verarbeitung asynchroner Vorgänge verwendet . Jedes dieser Konzepte hat seinen eigenen, einzigartigen Satz von Merkmalen:
Deferreds
Deferreds werden in der formalen Dokumentation nie klar definiert und werden typischerweise als Schiedsrichter für die Auflösung und Umsetzung von Versprechen verwendet Sowohl Auflösungs- als auch Ablehnungsfunktionen. Sie können auch als Promises implementiert werden, was die Verwendung der then-Funktion ermöglicht.
Promises
Promises stellen in diesem Zusammenhang das umfassendste Konzept dar. Sie kapseln das Ergebnis einer asynchronen Operation und stellen eine Then-Funktion bereit, die eine andere Zielfunktion akzeptiert. Die Promises/A-Spezifikation legt Standards dafür fest, wie sich Versprechen verhalten sollen, und beseitigt Unklarheiten aus der früheren Promises/A-Spezifikation.
Futures
Ein Begriff, der in aktuellen Diskussionen weniger häufig verwendet wird , Futures beziehen sich auf ein Proxy-Objekt, das Synchronizität und Fehlerbehandlung abstrahiert, ohne diese Funktionalität bereitzustellen. FutureJS verwendet den Begriff beispielsweise allgemein für solche Zwecke.
Hauptunterschiede
Zusammenfassend lässt sich sagen, dass diese Begriffe zwar manchmal austauschbar verwendet werden, aber jeweils unterschiedliche Merkmale aufweisen. Aufgeschobene Transaktionen sind die treibende Kraft hinter der Auflösung von Versprechen, Versprechen stellen die Gesamtstrategie für asynchrone Vorgänge dar und Futures sind ein weniger häufig verwendeter Begriff für die Abstraktion von Synchronizität.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3