Я пытаюсь обнаружить, если инструкция foreach завершена вместе с утверждениями внутри foreach. Из моих исследований многие просят использовать обещания. Поскольку я реализован, он не выполняется так, как я ожидал.Angular.foreach асинхронный обратный вызов не работает
var uploadUrl = "/api/upload";
$('#add_product').closeModal();
var promises = angular.forEach(vm.images_selected, function(value , key){
return File_Upload.uploadFileToUrl(value, uploadUrl)
.success(function(result){
vm.images_selected_uploaded.push(result);
console.log('here')
});
})
$q.all(promises).then(function() {
console.log('there')
console.log(vm.images_selected_uploaded)
})
Из приведенного выше кода (скажем, длина значение 2, то выход будет
there
here
here
То, что я действительно хотел здесь здесь. Что я здесь отсутствует?
вы должны двигаться '' success' к затем' в '$ q.all()'. – Arg0n
'.forEach' должно быть' .map' (при условии, что угловое .forEach/angular.map аналогично функционально для array.prototype.forEach/array.prototype.map ... hmmm, no angular.map ... –