У меня есть простой контроллер, который использует $resource:
 var Regions = $resource('mocks/regions.json');
 $scope.regions = Regions.query();
Я использую этот контроллер в директиве (в функции связи)
var regions = scope.regions;
Но регионы undefined. Это довольно логичный вызов асинхронный.
Мой вопрос: как я могу подождать результата, а регионы - массив со всеми данными?
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) {}
    };
  });