У меня есть массив файлов фотографий, которые необходимо загрузить в облачное хранилище Azure, и я использую цикл foreach для вызова загрузки, как показано ниже:
$scope.savetemplate = function () {
var imagePathsArray = [];
$scope.filesimage = [];
$scope.filesimage.push($scope.file1);
$scope.filesimage.push($scope.file2);
$scope.filesimage.push($scope.file3);
for (var i in $scope.filesimage) {
$scope.upload($scope.filesimage[i]);
}
$scope.data.Images = imagePathsArray ;
$http({
//after finish uploads i need to post the paths
//of all images to save into database
})
};
$scope.upload = function (file) {
Upload.upload({
url: '/uploadImage',
data: { file: file }
}).then(function (resp) {
imagePathsArray.push(resp.data);
})
};
resp.data возвращает путь к лазурному хранилищу, и мне нужно вставить пути в imagePathsArray
Как я могу использовать Angular Promise для ожидания завершения загрузки всех файлов и сохранения всех путей в imagePathsArray, поэтому я могу продолжить
$scope.data.Images = imagePathsArray ;
чтобы я мог получить пути в массиве и выполнить сообщение $http?