如何在AngularJS中同步两个$resource调用
我正在尝试做如下事情: 在我的控制器中,有一些函数使用$resource调用从数据库获取数据。服务“myService”如何在AngularJS中同步两个$resource调用,angularjs,angular-resource,angular-http,Angularjs,Angular Resource,Angular Http,我正在尝试做如下事情: 在我的控制器中,有一些函数使用$resource调用从数据库获取数据。服务“myService” var fillSubData = function (containerToFill) { resService.getSubDataFromDB(//$resource service {params}, function (res) { //do something with containerToFill with the result
var fillSubData = function (containerToFill) {
resService.getSubDataFromDB(//$resource service
{params},
function (res) {
//do something with containerToFill with the result res add new values
}
);
}
var fillData = function (containerToFill) {
resService.getDataFromDB(//$resource service
{params},
function (res) {
//do something with containerToFill with the result res
fillSubData(containerToFill);
}
);
}
控制器
$scope.dataToFill;// object
var initialize = function () {
//by reference
myService.fillData(dataToFill);
// I need the dataToFill filled to do other thing with data recovered and built
angular.forEach(dataToFill.someArrayBuilt, function (item) {
//do something with item...
})
}
我需要填充dataToFill来完成恢复和生成数据的其他操作,但是资源调用很简单,我如何才能做到这一点?请注意,资源操作返回一个包含
$promise
属性的对象。在异步调用返回后,您可以使用此选项继续回调:
myService.fillData(dataToFill).$promise.then(function() {
// I need the dataToFill filled to do other thing with data recovered and built
angular.forEach(dataToFill.someArrayBuilt, function (item) {
//do something with item...
})
});
要启用此功能,我建议您只需让fillData
方法返回资源调用的结果:
var fillData = function (containerToFill) {
return resService.getDataFromDB(//$resource service ...