首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在AngularJs中加载控制器之前,我如何等待服务初始化?

在AngularJs中加载控制器之前,我如何等待服务初始化?
EN

Stack Overflow用户
提问于 2014-09-03 11:15:05
回答 1查看 1.5K关注 0票数 0

我在AngularJs应用程序中定义了许多服务。有一个根服务必须加载,从服务器获取一些数据,然后依赖于此根服务的其他服务可以初始化,然后控制器可以在页面上加载和显示数据。

问题是控制器在根服务之前加载,子服务可以完全初始化,例如:

  • 用户加载页面
    • 根服务开始初始化
    • 控制器加载,它依赖于子服务(依赖根服务)
    • 页面绑定失败,因为子服务无法向控制器提供数据。
    • 根服务完成一体化(为时已晚)

我想要的初始化流程是:

  • 用户加载页面
    • 根服务开始初始化
    • 根服务完成一体化
    • 依赖根服务初始化的子服务。
    • 控制器加载,这取决于子服务。
    • 页面绑定成功

有没有处理这类问题的技术?

EN

回答 1

Stack Overflow用户

发布于 2014-09-03 12:27:32

从角度文档https://docs.angularjs.org/guide/module

模块是在引导过程中应用于应用程序的配置和运行块的集合。该模块以最简单的形式由两种块的集合组成: 配置阻止-在提供者注册和配置阶段执行。只能将提供程序和常量注入配置块。这是为了防止在服务完全配置之前意外地实例化服务。 运行阻塞-在创建注入器之后执行,并用于启动应用程序。只能将实例和常量注入运行块。这是为了防止在应用程序运行时进一步进行系统配置。

代码语言:javascript
运行
复制
angular.module('myModule', []).
  config(function(injectables) { // provider-injector
    // This is an example of config block.
    // You can have as many of these as you want.
    // You can only inject Providers (not instances)
    // into config blocks.
  }).
  run(function(injectables) { // instance-injector
    // This is an example of a run block.
    // You can have as many of these as you want.
    // You can only inject instances (not Providers)
    // into run blocks
  });

尝尝这个。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25642914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档