Verwendung von 'dann' in ReactJS
Für Leichtigkeit in der Erklärung der Bedeutung von 'dann', könnte mir jemand sagen, was passiert in diesem code?
fetchComments().then(response => {
this.setState({
comments: response.comments
});
});
- developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/...
- Ich fragte hier, weil ich nicht verstehen konnte von dort aus.
- Welcher Teil der docs ist unklar??? Sowieso Fragen, Fragen zu finden, ein tutorial off-topic SO.
fetchComments()
gibt ein Versprechen. Also, was die Funktion tut migh etwas asynchron, aber einmal tun, wird der callback aufgerufen wird.
Du musst angemeldet sein, um einen Kommentar abzugeben.
fetchComments
gibt eine Versprechen (wahrscheinlich; es könnte nur ein "thenable"*). Ein Versprechen ist etwas, das entweder aufgelöst oder abgelehnt werden zu einem späteren Zeitpunkt (in der Regel**).then
wird verwendet, um hook up einen handler, der aufgerufen wird, wenn das Versprechen aufgelöst wird (und Optional-wenn Sie abgelehnt, wenn Sie eine zweite Funktion inthen
; sonst würden Sie verwendencatch
).In diesem Fall, dass code, der sagt, dass, wenn/wenn das Versprechen zurückgegeben
fetchComments
behebt, verwenden Sie den Wert der Auflösung auf der Zustand Reagieren die Komponente mit dercomments
Eigenschaft, die Auflösung Wert.Mehr über verspricht in diese MDN Artikel und in der Promises/A+ spec.
* Finden Sie in der Promises/A+ - Spezifikation für das, was ein "thenable" ist.
** Wenn Sie
then
auf ein Versprechen, dass bereits aufgelöst oder abgelehnt wird, sind Sie garantiert von der einheimischen verspricht in JavaScript, die den handler immer noch asynchron aufgerufen werden. Das war nicht immer der Fall mit einigen frühen Versprechen-wie-Implementierungen, die entweder Ihren Rückruf asynchron (wenn die Versprechen nicht bereits erledigt) oder synchron (wenn es war), die war...chaotisch und wenig hilfreich. JavaScript native verspricht und ein wirklich gutes Versprechen-Bibliothek garantiert konsistente Verhalten des Callbacks.Bin ich der Beantwortung dieser Frage etwas verspätet, aber hilfreich sein kann, um jemand zu einem bestimmten Zeitpunkt.
Lets Start:
Aus dem obigen code, den Sie einfügen möchten, kann ich Ihnen einen Tipp geben, dass, wenn Sie sehen, ein Schlüsselwort dann in jeder beliebigen Javascript-code-snippet, das ist eine asynchrone Funktion mit Hilfe Versprechen.
Versprechen: sind nichts anderes als Objekte, die Informationen speichern, etwa, ob oder nicht, diese Ereignisse passiert sind, noch, und, wenn Sie, was Ihr Ergebnis ist.In der Regel, Versprechen behandeln Erfolg (auflösen von js-code) und Misserfolg(Ablehnung in js-code) und auch beide. Also, da schaffen wir jede asynchrone Funktion, die Versprechen, innerhalb dieser asynchronen Funktionen.
Versprechen.dann: dann ermöglicht es uns, weisen Sie event-Handler, um ein Versprechen. Je nach den Argumenten, die wir liefern, wir kümmern uns um den Erfolg, Fehlschlag oder beides und die Rückkehr ist dann auch ein Versprechen, das bedeutet, es kann mit mehr Veranstaltungen.
Schließlich sich zu dem code oben, fetchComments ist ein Versprechen, das eine asynchrone Funktion, und wenn die Antwort ist beheben wir aktualisieren den Status der Kommentare und zusätzlich können wir hier auch behandeln Fehler-Szenarien mit .fangen oder auch durch die Zugabe von anderen dann und Ende, unten link hat eine schöne Erklärung:
Ein nettes tutorial auf Versprechen und dann in javascript ist hier
Funktion
fetchComments
'll abrufen von Daten und liefert ein Versprechen dann geben Sie zu Staat Kommentare :). Aber ich denke, man sollte hier Lesen^^.