У меня возникла проблема, когда контроллер вызывает функцию getMyList службы, но myLists еще не заполняется, поскольку вызов $ http занимает некоторое время.
Как решить эту проблему?
Вот мой фрагмент кода:
Сервис
app.factory('myService', function($http) {
var myList = [];
$http.get("http://myService/json.data").then(function (resp) {
myLists = resp.data;
});
return {
getMyList: function (name) {
for (var i = 0; i < myLists.length; i++) {
if (myList[i].name == name) {
return myLists[i];
}
}
}
}
}
Контроллер:
app.controller('MainCtrl', function(myService,$scope) {
var testName = "test"
myService.getMyList(testName).then(function(resp) {
// do something with resp data
});
});
у вас есть какие-либо маршрутизатор? Какой из них? – Hitmands
У меня нет маршрутизатора. Но от контроллера мне нужно вызвать myService.getMyList, который возвращает мне список из кэшированных myLists – SimpleCoder