在AngularJS中,服务是通过factory函数传入的。基本上,它们是可以包含某些状态的对象(例如,用于缓存或存储执行其动作所需的数据)。
一个可以兼顾拥有/不具有状态的弊端的好的解决方案是,当服务(可能实际上是功能)返回包含状态的对象时。
看一下该
$http服务:您可以获取该服务调用的实例
var x = $http({url:'...'});然后打电话给
var result = x.get() //actually `$http.get` is shortcut of this operation
与相同
ngResource:使用服务,您将获得具有某种状态的对象,可以执行所需的操作。
因此,基本上,我认为这是最好的选择:从某一点上讲,通过将可以由操作修改的状态移动到单独的对象中(而不是存储在服务本身中,但可以在该对象中具有特定的状态)来避免“副作用”存储自定义信息(例如身份验证信息等)。



