gpt4 book ai didi

javascript - typescript promise 循环后返回

转载 作者:行者123 更新时间:2023-12-01 03:38:05 25 4
gpt4 key购买 nike

我试图在对外部服务的所有调用完成后返回,但我的代码只是通过 for 循环并返回。我不能在这里做一个promise.all,因为我需要在循环中获得一些值。在 typescript/angular2 中是否有一种简单的方法可以做到这一点?

var ret = [];
for (var l in users){
var userLicense = users[l].licenseNumber;
this.callExternalService(userLicense).subscribe(response=>{
ret.push(response+userLicense);
}
}
resolve(ret);

最佳答案

由于您已经在使用可观察量,因此可以使用 forkJoin 的组合和 map实现这一目标:

var ret = [];
Observable.forkJoin(
users.map(
user => this.callExternalService(user.licenseNumber)
.map(response => response + user.licenseNumber)
)
).subscribe(values => {
ret = values;
resolve(ret);
})

关于javascript - typescript promise 循环后返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44101823/

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