在我的应用程序中,我使用$http.get()在app.run中获取一些数据
由此产生的结果需要进入控制器.
目前我的控制器在$http.get完成之前执行
如何在执行$http.get()后使控制器执行
app.run(function ($rootScope, $http, $cookies) {
var currentLanguageId = angular.fromJson($cookies.get('mykey')).UserInfo.Country;
$http.get('myurl').then(function (serviceInfo) {
$rootScope.serviceURL = serviceInfo.data.serviceURL;
}, function (error) {
alert('error service info');
});
最佳答案 run目前无法处理异步工作.请参阅此问题: https://github.com/angular/angular.js/issues/4003
你有多种解决方案.您可以在没有Angular的情况下获取数据并手动启动Angular(How to wait for a promise in a Run block in Angular?)
或者您可以使用路线的解析来执行此操作:AngularJS : Initialize service with asynchronous data