Я не могу склонить голову вокруг концепции AngularJS promises.
У меня есть провайдер:
var packingProvider = angular.module('packingProvider',[]);
packingProvider.provider('packingProvider',function(){
return{
$get: function($http){
return{
getPackings: function(){
$http.post('../sys/core/fetchPacking.php').then(function(promise){
var packings = promise.data;
return packings;
});
}
}
}
}
});
Как вы можете видеть, это обеспечивает метод getPackings()
, который вернет объект
Теперь, если я использую это в своем основном приложении для получения данных, вызов будет асинхронным, что приведет к ошибке, когда мне придется "ждать" данных:
var packings = packingProvider.getPackings();
console.log(packings); // undefined
Как мне сделать это без рефакторинга процесса в моем основном контроллере?