18

プロミスを含む解決オブジェクトを指定すると、保持routeProviderできます。routingすべての約束が解決されるまで待機します。ただし、アプリケーションの初期化でそれを行う方法が見つかりませんでした。

orは非同期ですが、依存関係 (promise) が解決される前にアプリが初期化を完了しangular.module("app", []).run(function (){ //init app })て. 私たちはそれを望んでいません。$resource$httprace condition

問題は、service与えられたすべての約束が解決されるまで a の初期化を保持する方法があるかということです。

4

2 に答える 2

5

私は同様の問題を見てきました。チームメイトが採用したやや洗練されたソリューションは、RequireJS と domReady モジュールの組み合わせでした。

define(['require', 'angular', 'app','routes', 'pendingServices'], 
      function (require, ng, app, pendingServices) {


  /* place operations that need to initialize prior to app start here
   * using the `run` function on the top-level  module
   */
  app.run(pendingServices.init)

  require(['domReady!'], function (document) {
      /* everything is loaded...go! */
      ng.bootstrap(document, ['mainModule']);
  });

});

init メソッドでは、すべてのプリロードを実行できます (そして、目的の約束を待ちます)。もちろん、他の解決策を聞くことに興味があります。

于 2012-12-31T11:06:45.950 に答える