AngularJS возвращает два запроса http get только после разрешения

У меня есть приложение Angular, и в контроллере мне нужно вызвать функцию, которая делает два http-запроса get, и мне нужна эта функция, чтобы возвращать эти значения только тогда, когда они разрешены. Я не могу сделать их в разрешении $ routeProvider, потому что эта функция нуждается в значении, полученном в том же контроллере.

Я показываю часть контроллера:

function myController(info) {
 var vm = this;
 vm.name = info.data.name;

 vm.extra_data = MyService.getExtras(name);
}

И вот часть кода сервиса:

function myService($http, $q, API_EVENT1, API_EVENT2) {
 return {
  getExtras: getExtras
 }

 function getExtras(name) {
  var request1 = API_EVENT1 + '/' + name; 
  var request2 = API_EVENT2 + '/' + name;

 }
}

Функция не завершена из-за того, что я попробовал несколько методов, но мне это не удалось.

Моя проблема заключается в том, как вернуть (в функции getExtras) оба результата запросов. Я пытался использовать $ q.defer, $ q.all и обещания, но я не смог этого добиться.

Например, используя $ q.all, я получил результат, но когда я вызываю функцию, объект extra_data не определен, поскольку запросы выполнялись асинхронно.

Заранее благодарю за ваши ответы.

Ответы на вопрос(1)

Ваш ответ на вопрос