Ich habe versucht, an einem Codebeispiel zu arbeiten, um meinen Kopf Versprechen zu bekommen. Aber ich kann nicht herausfinden, wie ich mit den Callbacks umgehen soll, und später den "thenable" -Wert erhalten.Versuchen zu verstehen Ember JS verspricht
Hier sind zwei relevante JSBin-Beispiele, an denen ich gerade arbeite. In ausführlichen Stil geschrieben, um Kekse zu emulieren.
Ember.js ohne async
http://jsbin.com/iSacev/1/edit
rein synchrones Beispiel das Grundverhalten zeigen
Ember.js mit async und verspricht
(absichtlich Grundobjektmodell) http://jsbin.com/udeXoSE/1/edit
Es wurde versucht, das erste Beispiel und die implementierte Methode so zu erweitern, dass Dinge mit einer Verzögerung ausgeführt werden und später ein erfülltes Zusicherungsobjekt zurückgegeben wird.
Konzepte zu verstehen versuchen:
- Wie man richtig Versprechen behandeln und speziell Ember.RSVP.Promise und später ein Objekt erhalten. statt SetTimeout
- Wie die Ember.run.later Methode verwenden
Mike vielen Dank. Ihr Beispiel macht Sinn. Also ist "Wert" das erfüllte Versprechen und ich muss es einfach handhaben. Was mich jedoch verwirrt, ist, wie man das thenable mit einer anderen Funktion behandelt. z.B. Warum funktionieren diese beiden Beispiele nicht http: // jsbin?com/omIzeq/1/bearbeiten mit "dies" http://jsbin.com/omIZeq/2/edit mit "Wert" –
Froh, dass geholfen hat. Um mit einem fx zu arbeiten, übergeben Sie einfach diesen fx als Argument. Problem mit der ersten jsbin ist, dass statt fx als arg fx ausgeführt wird und sein Ergebnis als arg übergeben wird. Also statt 'cookiePromise.then (App.cookieDeliveredSuccessfully (this), App.cookieNotDelivered (this));' sollte es 'cookiePromise.then (App.cookieDeliveredSuccessfully, App.cookieNotDelivered) sein;' –
Ahhhh ok. Also nehme ich an, die interne Implementierung der then-Funktion übergibt das Argument hinter die Kulissen. Ich schätze, weil ich zwischen geschweiften Klammern nichts gesehen habe, war es nicht da. Jetzt experimentieren mit Verkettung mehrerer Versprechen. Vielen Dank! –