$http服务提供了一个很是低级的实现,能够用来发送XHR请求,同时它还提供了很大的可控性和灵活性。可是,在大多数状况下,咱们须要处理对象,以及封装了特定属性和方法的对象模型,例如一个person对象。数组
$resource就是对将对象状态持久化到服务器中,Angular中容许咱们用描述性的方式来定义对象的模型,它能够描述一下内容:promise
1)资源在服务器端的URL服务器
2)经常使用的请求参数类型异步
3)一些附加的方法,(你能够自动得到get,save,query,remove,delete方法,这些方法为对象模型包装了特定的功能和业务逻辑)对象
4)指望得到的响应类型(一个数组或者是一个对象)资源
5)协议头rem
使用Angular所提供的$resource对象,你能够根据各类需求查询服务器;除此以外,你能够把服务器返回的对象当成已经持久化好的数据模型,你能够修改他们,而且能够把它们持久化。get
ngResource是一个独立的,可选的模块,你须要:同步
1)加载的脚本文件中包含angular-resource.jsangular
2)在模块依赖声明中包含ngResource
3)在须要的地方使用注入的$resource服务
$q 服务,也就是promise服务,是为了更可以实现异步调用,使得异步调用可以更像同步调用,其实就是一个盒子,里面须要利用$resource服务进行真正的异步调用。