Konnte den Status von der Then-Funktion der Verheißung nicht setzen

9

Ich versuche den Status von der promise zu aktualisieren, die ich mit der Funktion fetch erhalten habe.

%Vor%

Ich habe den Fehler bekommen, dass setState keine Funktion ist

Dann habe ich versucht, bind(this) den this -Wert wie unten zu übergeben.

%Vor%

Es funktioniert jetzt auch nicht. Gleicher Fehler erneut.

    
Sriraman 18.04.2016, 12:23
quelle

3 Antworten

15

Dies liegt an der Festlegung des Bereichs this . Sie müssen also etwas tun, wenn Sie Function.prototype.bind verwenden möchten. Ihr Fehler besteht darin, dass Sie nicht bis zur letzten anonymen Funktion gebunden sind. Was Sie wahrscheinlich tun möchten, ist die Verwendung von Pfeilfunktionen wie folgt:

%Vor%

Pfeilfunktionen behalten immer den Kontext von this .

    
Nicklas Nygren 18.04.2016 12:27
quelle
4

Entschuldigung, ich habe gerade festgestellt, dass ich die this Variable nicht korrekt gebunden habe.

Jetzt ist es behoben.

%Vor%     
Sriraman 18.04.2016 12:25
quelle
0

Ihr zweites Versprechen hat nicht den aktuellen this -Kontext. Sie können hier auch eine Pfeilfunktion verwenden.

%Vor%

Auch die Verkettung, anstatt Ihre Versprechen zu verschachteln, wird Ihnen bei der Lesbarkeit helfen und Ihnen helfen, die Rückruf-Hölle zu vermeiden.

    
nils 18.04.2016 12:26
quelle

Tags und Links