如何在AngularJS中同步两个$resource调用

如何在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

我正在尝试做如下事情: 在我的控制器中,有一些函数使用$resource调用从数据库获取数据。服务“myService”

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 ...