Am Schleifen über ein Array und Async-Aufrufe an eine API machen die zurückgegebenen Daten müssen mich mit einem anderen Array verschmolzen das Problem konfrontiert ist, wenn die Zusammenführung erfolgt einige der Versprechen nicht haben noch aufgelöst werden, so dass das resultierende Array nach der Zusammenführung Daten fehlt. irgendwelche Ideen, wie man das macht. (Ich bin neu bei Angular). die Anordnung am Schleifen mindestens 200 Elemente hat (ich weiß nicht, die Größe des Arrays im Voraus) bekomme ich die ID von jedem Elemente und ich nenne diesen Service:Angular JS Warten auf alle Versprechen zu lösen
for (i = 0; i < list.length; i++) {
service.getRawHtml(list[i].service_object_id)
.then(function(res){
temp=htmlToArray(res);
htmlDataList.push(temp);
}, function(err){
// error
})
}
service.getRawHtml=function (id){
var defer = $q.defer();
$http({
method: 'GET',
url: 'http://wlhost:50000/'+id
}).success(function (response) {
defer.resolve(response);
}).error(function (data, status) {
console.log("Failure");
defer.reject(err);
});
return defer.promise;
}
Vielen Dank im Voraus.
Mögliche Duplikat [Warten Sie alle Versprechen zu lösen] (http://stackoverflow.com/questions/21759361/wait-for-all-promises-to-resolve) –
I Ich habe mir die Frage angeschaut, bevor ich meine beantwortete. Die Antwort, die für meine Frage vorgeschlagen wurde, ist eine ähnliche. aber es ist nicht das gleiche Szenario mit Blick auf :) – Mero
Ihr Code hat keine Schleife ..? Wenn es nicht das gleiche Szenario ist, in dem du dich befindest, solltest du vielleicht mehr Code einfügen, um zu zeigen, worum es eigentlich geht. –