gpt4 book ai didi

javascript - 不使用 defer 的 Angular $promise

转载 作者:搜寻专家 更新时间:2023-11-01 00:31:15 25 4
gpt4 key购买 nike

最近网上关于 promises 的所有内容都说在使用 promises 时不要使用 defer,除了 angular.js 上的文档/示例。

在不使用 defer 的情况下返回 angular.js $promise 值的正确方法是什么?

这是我目前拥有的:

function foo() {
var deferred = $q.defer();
userService.findProgramsByUser({personId: personId}).$promise
.then(function (programs) {
deferred.resolve(programs);
});
return deferred.promise;
}

如果我使用的是 Node Q 库,我会这样做:

function foo() {
return Q.promise(function(resolve, reject) {
userService.findProgramsByUser({personId: personId})
.then(function (programs) {
resolve(programs);
});
}
}

如何在不使用 defer 的情况下使用 Angular Promise 做类似的事情?

最佳答案

由于 userService.findProgramsByUser() 已经有一个 promise 属性,只需返回它

function foo() {          
return userService.findProgramsByUser({personId: personId}).$promise
.then(function (programs) {
return programs;
}, function(){
// handle errors
});
}

关于javascript - 不使用 defer 的 Angular $promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32872795/

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