2014-07-03 91 views
1

我正在使用app.run()來觸發初始化用戶會話的方法。Angular - 確保app.run()已執行

現在我只是將另一種方法添加到app.run(),發現routeProviders resolve中的某些方法異步觸發,與會話初始化重疊,從而導致應用程序崩潰。

如何確保app.run()已在執行任何相關路由之前執行?

回答

1

你想在你的app.run()中做somthin async嗎? 這可能有幫助

angular.element(document).ready(
    function() { 
     var initInjector = angular.injector(['ng']); 
     var $http = initInjector.get('$http'); 
     $http.get('/test.json').then(
      function (response) { 
       var x = response.data; 

       angular.bootstrap(document, ['App']); 
      } 
     ); 
    } 
); 
+0

是的,這是正確的。 – Sprottenwels

+1

以及我試圖做同樣的...沒有爲我工作。所以我做了異步調用,只有在解決後,然後手動bootsraped應用程序。 –

+1

瀏覽文檔https://docs.angularjs.org/guide/bootstrap –