gpt4 book ai didi

angularjs - 如何让 Controller 等到 app.run 完成

转载 作者:行者123 更新时间:2023-12-01 05:00:28 24 4
gpt4 key购买 nike

在我的应用程序中,我使用 $http.get() 在 app.run 中获取一些数据
需要由此得出的结果才能进入 Controller 。
目前我的 Controller 在这个 $http.get 完成之前正在执行
执行 $http.get() 后如何让我的 Controller 执行

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

关于angularjs - 如何让 Controller 等到 app.run 完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33349655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com