加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 如何使控制器等待直到app.run完成

发布时间:2020-12-17 16:56:22 所属栏目:安全 来源:网络整理
导读:在我的应用程序中,我使用$http.get()在app.run中获取一些数据 由此产生的结果需要进入控制器. 目前我的控制器在$http.get完成之前执行 如何在执行$http.get()后使控制器执行 app.run(function ($rootScope,$http,$cookies) {var currentLanguageId = angular
在我的应用程序中,我使用$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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读