<\/P>
Vielleicht haben Sie schon von ihnen gehört, waren sich aber nicht ganz sicher, was sie sind. Sie haben sie zweifellos die ganze Zeit in Ihrer ArcGIS API for JavaScript-Entwicklung verwendet und wussten es nicht einmal. Vielleicht sind sie der Fluch Ihrer Existenz und verursachen graue Haare. Lieben Sie sie oder hassen Sie sie, aber lernen Sie, wie man sie benutzt.<\/EM> Promises,<\/STRONG> sie fließen wie Risse in der Wand<\/EM>.<\/P><\/P>Sie können mehr über EcmaScript 2015 Promises hier lesen<\/A>. Hier ist die Spezifikation<\/A>, falls Sie Lust haben, sie zu lesen. Wenn ich sage, dass Sie wahrscheinlich die ganze Zeit mit ihnen gearbeitet haben und es nicht einmal wussten, schauen wir uns den Leitfaden zum Abrufen von Daten von einem Webserver<\/A> in der ArcGIS JS API-Dokumentation an. Sehen Sie all die Verweise auf Dinge wie doSomthing().then(function(){})<\/SPAN>. Das ist ein Promise<\/EM>. Die in der JS API verwendeten Promises basieren auf dem Dojo Promise<\/A>, das es schon länger gibt als die meisten Promise-Implementierungen. Deshalb hat es nicht alle<\/EM> oben definierten Methoden. Aber es funktioniert genauso gut. Dieses Promise-Modul ist nur die API für ein Promise. In der ArcGIS API for JavaScript arbeiten wir typischerweise mit Promises über dojo\Deferred<\/A>. Manche sagen, dass Beitrag von Sitepen für weitere Details.<\/P><\/P>Für jetzt fertig, ich verspreche es<\/H2>Wie Sie sehen können, sind Promises und ihre Implementierung in Deferred ziemlich mächtig. Sie sind großartige Werkzeuge für die Verwendung mit asynchronen Aufgaben. Eines ist zu beachten: Promises werden sofort ausgeführt. Sie können nur verzögern, wann die Ergebnisse verarbeitet werden. Wenn Sie einige andere Techniken ausprobieren möchten, die die Ausführung verzögern, bis Sie bereit sind, können Sie RxJS ausprobieren oder sich etwas wie Folktales data.task ansehen, das einen Future-Monad implementiert. Aber diese Leckerbissen überlasse ich Ihnen zum Erkunden.<\/P><\/P>Für weitere geodev Tipps und Tricks besuchen Sie meinen Blog<\/STRONG>.<\/P><\/BODY><\/HTML>
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registrieren Sie ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.