gpt4 book ai didi

javascript - AngularJS:旧 Angular 版本中的 $q.race()

转载 作者:行者123 更新时间:2023-11-27 22:32:00 25 4
gpt4 key购买 nike

Angular 1.5.8 实现了一个 $q.race() 方法,该方法接受一组 Promise 并返回一个 Promise,该 Promise 使用第一个已解析 Promise 的值进行解析。

但是我现在坚持使用 Angular 1.4,需要某种功能,例如 $q.any$q.race 方法。

目前,我在 .then() 中使用标志来“记住” promise 的状态,这显然并不理想。

var resolvedPromise = null;

promise1.then(function(data){
if(!resolvedPromise === 'promise2'){
resolvedPromise = 'promise1';
successcallback(data)
}
})

promise2.then(function(data){
if(!resolvedPromise === 'promise1'){
resolvedPromise = 'promise2';
successcallback(data)
}
})

问题

我只需要这个来一次实现两个 promise :

myRaceFkt(p1,p2)
.then(successcallback)

是否有更优雅的解决方案,无需访问 1.5.8 改进的 $q-api?

最佳答案

function myRaceFn(promises){
return $q(function(resolve, reject) {
promises.forEach(function(promise) {
promise.then(resolve, reject);
});
});
}
myRaceFn([promise1, promise2]).then(....

关于javascript - AngularJS:旧 Angular 版本中的 $q.race(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39489360/

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