gpt4 book ai didi

javascript - 在循环内触发同步调用,等待两个 api 调用成功,然后下一次迭代需要以 Angular 6 开始

转载 作者:行者123 更新时间:2023-12-03 17:13:07 26 4
gpt4 key购买 nike

尝试使用以下代码不等待调用后成功跳转到下一次迭代,然后再响应。需求:需要在两次api(POST/PATCH)调用成功后进行下一次迭代

 for (item of data) {
A(item)

}
A(value) {
const resp = this.post(url, {
'rationale': value['rationale']
})
.mergeMap(tempObj => {
value['detail'] = tempObj['id']
return this.patch(url, value['extid'], value)
})
.subscribe()
}

最佳答案

最近我使用了带有 Angular http 的 toPromise 函数将一个可观察到的变成一个 promise 。如果在异步函数中有外循环,这可能会起作用:

// This must be executed inside an async function
for (item of data) {
await A(item)
}

async A(value) {
const resp = await this.post(url, {
'rationale': value['rationale']
})
.mergeMap(tempObj => {
value['detail'] = tempObj['id']
return this.patch(url, value['extid'], value)
}).toPromise();
}

关于javascript - 在循环内触发同步调用,等待两个 api 调用成功,然后下一次迭代需要以 Angular 6 开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59789003/

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