gpt4 book ai didi

javascript - 异步请求中的angularjs简单.then或$q服务

转载 作者:行者123 更新时间:2023-11-30 12:00:57 25 4
gpt4 key购买 nike

我不知道 AngularJS $q 服务和在异步请求后简单地使用 .then() 之间到底有什么区别。

.then() 的简单示例:

function InboxService($http) {
this.getEmails = function getEmails() {
return $http.get('/emails');
};
}

并且在使用该服务时(只是部分代码):

InboxService.getEmails()
.then(function (response) {
// use response
});

$q 服务 resolve and reject 有什么区别?

最佳答案

What is the difference with $q service with resolve and reject ?

我假设您是在询问 var deferred = $q.defer() 与后续 deferred.resolve()deferred.reject( )?在这种情况下,答案是您不需要它,因为您已经有一个由 $http 服务返回的 promise 对象。事实上,不推荐使用 $q 手动构建另一个新 promise ,这被视为 anti-pattern。 .

如果您使用尚未包装到 promise 中的异步函数(超时、ajax 请求),那么在这种情况下您可能希望使用 $q 来创建和返回 promise 。但是再一次,在您的情况下,您不需要它,因为 $http 服务为您构造了 promise,而另一个只是多余的。

关于javascript - 异步请求中的angularjs简单.then或$q服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36631601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com