2016-09-02 5 views
0

so hier ist der Code-Schnipsel, die Daten von Parse abruft:Wie behandelt man die Antwort in angularjs?

var schooolId = 111; 

var query = new Parse.Query("Schools"); 

query.equalTo("objectId", schooolId); 

query.find({ 
success: function (results) { 

    console.log('in success'); 
    $scope.funnelId = results[0].get("funnelId"); 

}, 
error: function (error) { 

} 

}); 

console.log('after function >> ' + $scope.funnelId); 

nun der Ausgang kommt es zunächst „nach Funktion >> drucken‘ und dann ‚in Erfolg‘ auf diese Weise sie legen Wert dosn't in '$ scope.funnelId', müssen wir für die Antwort warten und dann den Rest ausführen

sollte dies Antwort wie folgt aus:. Ausgabe: "in Erfolg" dann "nach Funktion >>"

auf diese Weise wird dies va setzen lue in: $ scope.funnelId

Bitte vorschlagen.

+0

Sie müssen Versprechungen verwenden. Dies ist grundsätzlich eine asynchrone Operation. – Casey

Antwort

0

Versprechen würden das Problem lösen.

Das Problem ist, dass der asynchrone Aufruf zum Parsen nicht zurückgegeben wurde, bevor Sie die console.log drücken. Mit Versprechen können Sie steuern, wenn Sie console.log (oder machen Sie eine Logik auf die zurückgegebenen Werte)

+0

Ihr Willkommen! Wenn dies Ihnen hilft, das Problem zu lösen, markieren Sie diese Antwort als Lösung, um anderen zu helfen! –

Verwandte Themen