gpt4 book ai didi

javascript - Angular : Adding the result of Http response to a map

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

我正在从我的 Angular 应用程序同时发送多个 HTTP 调用。我想将 HTTP 调用的响应保存在 Map 中。

data: Map<number, any> = new map<number,any>();

------------------------------------------------------

this.transactions.foreach((url)=>{
this.http.post(url,{})
.map(data => this.data.set(txnNumber, data))
})

现在由于同时发送HTTP请求,Map的检索和使用有可能发生冲突,所以会重新编写。我们如何同步它?

最佳答案

您可以使用 zip 运算符。创建一个包含交易索引的请求数组,并使用 zip 执行,当所有交易完成时使用 foreach 来获取交易数据。

data: Map<number, any> = new map<number,any>();

------------------------------------------------------

const requests = this.transactions.foreach((url, index)=> {
return this.http.post(url,{})).map((response) => ({txNumber: index, response})
});
Observable.zip(...requests)
.map((results: any[]) => {
results.foreach((data) => this.data.set(data.txNumber, data.response))
});

关于javascript - Angular : Adding the result of Http response to a map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51172336/

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