AngularJS 资源 promise

标签 angularjs promise angular-resource

我有一个使用 $resource 的简单 Controller :

 var Regions = $resource('mocks/regions.json');

 $scope.regions = Regions.query();

我在指令中使用此 Controller (在链接函数中)

var regions = scope.regions;

但是区域未定义。调用是异步的,这是非常符合逻辑的。

我的问题是如何等待结果和区域成为包含所有数据的数组?

UPDATE : 

这里是指令的定义

app.directive('ngMap', function() {
  return {
    restrict: 'EA',
    replace: 'true',
    scope: {

    },
    template: '<div id="map"></div>',
    controller: 'AccordMapCtrl',
    link: function(scope, element, attrs) {
      var regions = scope.regions;
      console.log(regions);

      for (var region in regions) {}
    };
  });

最佳答案

如果你想使用异步方法,你需要通过$promise使用回调函数,这里是例子:

var Regions = $resource('mocks/regions.json');

$scope.regions = Regions.query();
$scope.regions.$promise.then(function (result) {
    $scope.regions = result;
});

关于AngularJS 资源 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19490560/

相关文章:

javascript - 如何在智能表格中按较小的数字到较大的数字排序?

css - Angular Material css 对齐问题

angularjs - JS Promises - 使这个 promise 嵌套更有效的方法?

javascript - 从 $resource 自动完成 Angularjs

javascript - 使用 Angular Resource 作为正文参数传递的 URL 参数

rest - Rails4 : Server error when using AngularJS resource with update method = PATCH

javascript - $watch 中的 Angular 表达式触发两次

javascript - 使用 AngularJS 将列添加到表中

javascript - jQuery promise,如何检查 then() 是否真的在 when() 之后?

javascript - 从另一个 promise 中的 promise 返回值