angular 中 $q 服务的用途?
purpose of $q service in angular?
我无法理解 $q
服务在 angular js 中的使用。有人可以详细说明这个话题吗
angularjs 中的 $q
服务是什么?我们如何使用它
我认为我写的关于 $q 的文章可能对您有所帮助。
$q简介
$q 是一个 angular 定义服务。它与 new Promise() 相同。但是 $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()
return promise 构造函数的实例。创建延迟对象后,您可以从该对象访问以下方法和属性
resolve(value)
– 用值解析派生的承诺。如果该值是通过 $q.reject 构造的拒绝,则承诺将被拒绝。
reject(reason)
– 拒绝派生的 promise 并说明原因。这相当于通过 $q.reject.
构造的拒绝来解决它
notify(value)
- 提供承诺执行状态的更新。在承诺被解决或拒绝之前,这可能会被多次调用。
promise
– {Promise} – 与此延迟关联的承诺对象
结论
使用 $q
从非承诺 Objects/callbacks 构建承诺,并利用 $q.all()
和 $q.race()
处理现有承诺。
我无法理解 $q
服务在 angular js 中的使用。有人可以详细说明这个话题吗
angularjs 中的 $q
服务是什么?我们如何使用它
我认为我写的关于 $q 的文章可能对您有所帮助。
$q简介
$q 是一个 angular 定义服务。它与 new Promise() 相同。但是 $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()
return promise 构造函数的实例。创建延迟对象后,您可以从该对象访问以下方法和属性
resolve(value)
– 用值解析派生的承诺。如果该值是通过 $q.reject 构造的拒绝,则承诺将被拒绝。
reject(reason)
– 拒绝派生的 promise 并说明原因。这相当于通过 $q.reject.
notify(value)
- 提供承诺执行状态的更新。在承诺被解决或拒绝之前,这可能会被多次调用。
promise
– {Promise} – 与此延迟关联的承诺对象
结论
使用 $q
从非承诺 Objects/callbacks 构建承诺,并利用 $q.all()
和 $q.race()
处理现有承诺。