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对象,用于链式调用。