Я объявил пустой список в контроллере, который необходимо обновить с помощью обратного вызова метода из службы:
.controller('appCtrl', function($scope, appService) {
var list = [];
appService.sMethod().then(function(result){
list = result;
});
console.log(list);
})
метод из сервиса асинхронный:
.service('appService', function($timeout){
return {
sMethod: function(ctrlVar){
return $timeout(function(){
return ['response'];
})
}
}
})
Вы можете попробовать это здесь: https://codepen.io/neptune01/pen/rKoLBj
Видимо, это не работает. Я знаю, есть проблема с ограничениями. Пробовал с .bind(this)
и присваиванием self = this
, но не могу заставить его работать. Сначала я думал, что это потому, что он обновляется асинхронно, но, глядя на консоль браузера, он не показывает обновленный объект даже после выполнения обратного вызова.
Есть какое-нибудь решение для этого?