Angularjs $q服务的目的是什么?
我无法理解Angularjs $q服务的目的是什么?,angularjs,q,Angularjs,Q,我无法理解$q服务在angular js中的用法。有人能详细阐述一下这个话题吗 angularjs中的$q服务是什么?我们如何使用这个我想我写的关于$q的文章可能会对您有所帮助 $q简介 $q是定义服务的角度。这和新承诺是一样的。但是$q通过增强开发人员可以更简单地执行复杂任务的附加功能,将事情提升到了一个新的水平 这是一个使用$q创建承诺的示例 angular.module("app",[]) .controller("ctrl",function($scope,$q){ var work
$q
服务在angular js中的用法。有人能详细阐述一下这个话题吗
angularjs中的
$q
服务是什么?我们如何使用这个我想我写的关于$q的文章可能会对您有所帮助
$q简介
$q是定义服务的角度。这和新承诺是一样的。但是$q通过增强开发人员可以更简单地执行复杂任务的附加功能,将事情提升到了一个新的水平
这是一个使用$q创建承诺的示例
angular.module("app",[])
.controller("ctrl",function($scope,$q){
var work = "resolve";
var promise = $q(function(resolve, reject) {
if (work === "resolve") {
resolve('response 1!');
} else {
reject('Oops... something went wrong');
}
});
promise.then(function(data) {
alert(data)
})
})
$q.defer()
$q.defer()
返回承诺构造函数的实例。创建延迟对象后,可以从该对象访问以下方法和属性
解析(值)
–用值解析派生承诺。如果该值是通过$q.reject构造的拒绝,则承诺将被拒绝
拒绝(原因)
–拒绝带有原因的派生承诺。这相当于通过$q.reject构造拒绝来解决它
notify(value)
-提供承诺执行状态的更新。在承诺被解决或拒绝之前,可能会多次调用
promise
–{promise}–与此延迟请求关联的promise对象
结论
使用
$q
从非承诺对象/回调构造承诺,并使用$q.all()
和$q.race()
处理现有承诺。可能的重复非常有用。谢谢