angular 的广义回调管理

来源:互联网 发布:李涛疯狂淘宝靠谱吗 编辑:程序博客网 时间:2024/06/08 03:35

IOC容器是什么?

全称是Inversion Of Control, 可译为反转控制,我一般叫控制反转。主要是通过容器管理对象约束关系。

基本概念

不创建对象,但是要描述创建他们的方式。在代码中不直接与对象和服务连接,但在配置文件进行配置,用来描述哪一个组件需要哪一项服务。简单来说就是 容器控制程序直接的关系,不是传统实现那样由代码直接控制。

控制权由应用代码转到外部容器,控制权转移即反转。

昨天学习的angularJs的服务的五种方式,今天继续学习…

广义回调管理

http服务就是在ng的广义异步回调管理之上封装出来的。angular的异步回调管理机制就是ng的$q服务。

使用的方法,基本上是:

  • 通过 $q 服务得到一个 deferred 实例
  • 通过 deferred 实例的 promise 属性得到一个 promise 对象
  • promise 对象负责定义回调函数
  • deferred 实例负责触发回调

$q

$q 有四个方法:

  • $q.all() 合并多个 promise ,得到一个新的 promise
  • $q.defer() 返回一个 deferred 对象
  • $q.reject() 包装一个错误,以使回调链能正确处理下去
  • $q.when() 返回一个 promise 对象

promise

promise对象只有then()一个方法,注册成功回调函数和注册失败回调函数,再返回一个promise对象,用于链式调用。

0 0
原创粉丝点击