2016-11-30 5 views
2

Ich stieß auf Versprechungen, als ich meine Reise auf dem Lernen von AngularJS durchging und es war bis jetzt gut. Jetzt wollte ich mehr über die Verwendung der optionalen Bibliothek resource.js von AngularJS erfahren. Ich stieß jedoch auf Beispiele, die mich sehr verwirrten. Zum Beispiel ist das Versprechen Skelett im Grunde wie dieses Beispiel.

//post method to server 
$http.post('api/school',newStudent).then(fetchStudents).then(function(response){  
    //do something 
}, function(error){ 
    //do something 
}); 

und ein weiteres Beispiel, wie dies unter der Annahme, wir eine Liste Fabrik haben

List.save(self.newStudent).$promise.then(fetchStudents).then(function(){ 
     self.newStudent = {}; 
}); 

Also meine Frage ist, warum die Verwendung von $ verspricht? Was nützt es? Es wurde nicht wirklich in dem Buch erklärt, das ich benutze, und ich bin verwirrt darüber, wann ich es benutzen soll oder nicht. Jede klare Erklärung wird geschätzt. Dank

+0

du ein Versprechen ninja nach der Lektüre werden kann: http://www.webdeveasy.com/javascript -projects-and-angularjs-q-service / – Ladmerc

Antwort

1

Ein Dienst, der Sie Funktionen asynchron laufen hilft, und nutzen ihre Rückgabewerte (oder Ausnahmen), wenn sie fertig sind die Verarbeitung

Promises bieten eine einfachere Alternative zum Ausführen, Komponieren und asynchrone Verwaltung Operationen im Vergleich zu herkömmlichen Callback-basierten Ansätzen. Sie ermöglichen Ihnen auch, asynchrone Fehler zu behandeln, indem Sie Ansätze verwenden, die synchronem try/catch ähneln.

Lesen Sie mehr darüber unter:

https://docs.angularjs.org/api/ng/service/$q

http://haroldrv.com/2015/02/understanding-angularjs-q-service-and-promises/

http://chariotsolutions.com/blog/post/angularjs-corner-using-promises-q-handle-asynchronous-calls