In der Praxis ist es oft notwendig, auf die Erledigung mehrerer Anfragen zu warten, bevor mit dem nächsten Schritt fortgefahren wird. Aber $http in AngularJS unterstützt keine synchronen Anfragen.
Lösung 1:
Lösung 2:
Die darin enthaltenen Methoden werden der Reihe nach ausgeführt.
getJson('json1.txt').then(function(){
return getJson('json2.txt');
}).then(function(){
return getJson('json1.txt');
}).then(function(){
return getJson('json2.txt');
}).then(function(d){
console.log('end');
});
});
Lösung drei:
Der erste Parameter der $q.all-Methode kann ein Array (Objekt) sein. Nachdem der Inhalt des ersten Parameters ausgeführt wurde, wird die Methode darin ausgeführt. Alle Rückgabewerte der ersten Parametermethode werden in Form von Arrays (Objekten) übergeben.
Im Internet gibt es viele Tutorials zur detaillierten Verwendung von $q. Ich bin auch neu darin. Wenn du nicht gut sprichst, traust du dich nicht, Unsinn zu sagen. Der obige Code wurde nach meinem Verständnis geschrieben und wurde ohne Probleme getestet.