我无法理解 AngularJS 的承诺概念。
我有一个提供者:
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
如果不将流程重构到我的主控制器中,我将如何做到这一点?