Зависимые службы angular.js (api геолокации) не разрешают обещания

Я пытаюсь получить местоположение пользователей из браузера, а затем запрашиваю API openwathermap, чтобы узнать их текущую погоду. Прямо сейчас плунжер ниже просто получает местоположение пользователя и делает жестко запрограммированный запрос API openweathermap. Я могу зарегистрировать местоположение пользователя в консоли, но промисы, похоже, не разрешаются правильно при обновлении свойства погоды $scope с возвращенным ответом от API openweathermap. Похоже, что строка 30 app.js никогда не вызывается (например, userLocator.getLocation.then() ....)

http://plnkr.co/8v3Rw0zSBdMqbmfO3f31


person aai    schedule 05.08.2013    source источник


Ответы (1)


Я нашел ответ в этом сообщении в блоге о неугловой асинхронной функции и о том, почему вы должны обернуть их в $scope.$apply или в $rootScope.$apply:

http://jimhoskins.com/2012/12/17/angularjs-and-apply.html

Вот исправленная/рабочая версия вашего примера кода!

http://plnkr.co/edit/xGx47zi8RerbJXpWP67v?p=preview

person Mathijs    schedule 07.11.2013