延迟角度应用程序初始化

Chr*_*ris 9 asynchronous promise angularjs

我有一些数据正在后台异步处理,并希望延迟整个Angular应用程序的初始化,直到完成.

BackgroundData.initialized是一个Q承诺,所以像这样:

BackgroundData.initialized.then(AngularDoYoStuff)
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是主页的控制器启动其初始化过程,命中BackgroundData并且它具有错误/无数据.

我可以在什么函数中包装Angular的初始化,而不仅仅是dom-ready,它等待dom-ready和BackgroundData.initialization?

UPDATE

我已经接近了关于手动引导的文档:

angular.element(document).ready ->
  setupGA()
  window.BackgroundData = new DataMachine()
  BackgroundData.initialized.then ->
    angular.bootstrap(document)
Run Code Online (Sandbox Code Playgroud)

但是当控制器文件加载(在此文件之后)时,它们仍然在定义BackgroundData之前被初始化

更新2

删除ng-appHTML中的指令似乎解决了问题(因为这告诉Angular自动初始化)但现在它只是忽略了我的所有angular.module调用

Chr*_*ris 9

问题是我把ng-app指令留在了html标签中,这告诉Angular自动初始化该范围.删除它允许我的手动初始化正确运行.