gpt4 book ai didi

angularjs - 如何在 AngularJS 的 Run block 中等待 Promise?

转载 作者:行者123 更新时间:2023-12-02 18:20:36 25 4
gpt4 key购买 nike

我确实需要在引导 Angular 之前加载一些数据。因此,我创建了一个 run block /在这个 run block 中,我调用服务上的一个方法,该方法从服务器加载一些数据。由于这是一个异步调用,JavaScript 会进一步执行,从而导致我的应用程序中出现一些 undefined object 。

我正在使用路由,但它不是使用 resolve 属性的选项。

有人可以提供一个关于如何在 run block 中等待 Promise 准备好的解决方案吗?

编辑:

由于给出的答案,我已经通过手动引导 Angular 解决了这个问题:

$(document).ready(function () {
$.ajax('/Data/GetDropdownData', {type:'POST'}).done(function (response) {
app.run(['ListService', function (ListService) {
ListService.setData(response);
}])

angular.bootstrap(document, ["sma"]);
})
})

最佳答案

您可能想查看this SO 问题 - 它展示了如何使用异步数据初始化 AngularJS 服务。

Here是该问题的一个 plunkr 示例,显示了如何使用 $http 等 AngularJS 服务来加载配置,然后进行进一步的初始化。

This答案有一个很好的解释,并显示了一个等待 DOM 像这样加载的示例(该答案中的 plunkr 示例是 here ):

angular.element(document).ready(function() {
angular.bootstrap(document);
});

关于angularjs - 如何在 AngularJS 的 Run block 中等待 Promise?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21697598/

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