手动引导/初始化时访问Angular服务

jam*_*mes 5 javascript angularjs

Angular被引导之前,是否可以访问工厂服务的方法,类似于下面的代码?

我需要在Angular启动之前创建一些AJAX请求,以便设置许多全局应用程序变量.我本来希望保留这个逻辑和/或将响应存储在Angular服务中,并返回一个承诺......

<script src="scripts/app.js"></script>
<script src="scripts/factories/app.js"></script>

<script>
    angular.element(document).ready(function() {

        factoryName.startup().then(function() {
            angular.bootstrap(document, ['MyApp']);
        }, function(err) {
            console.log(error fetching bootstrap data);
        }

    });
</script>
Run Code Online (Sandbox Code Playgroud)

是否有其他方法可用于获得类似的行为?

Eme*_*gia 4

您可以在模块运行块中进行第一个服务调用。当稍后对这些变量进行服务调用时,您可以从 $http 的缓存中提供它们,或者显式缓存第一次调用中的承诺。

// example
myApp.run(function(MyService) {
  // call your function when Angular starts up
  MyService.init();
});
Run Code Online (Sandbox Code Playgroud)