我面临一个问题,即控制器调用服务函数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