如何放置承诺的结果.都在特定的地方?



有没有办法使用Promise ?都在我的箱子里?我应该使用两个不同的循环(一个推在承诺数组和另一个推每个结果到正确的地方)?

(这只是一个例子,我目前的代码包含更多的数据,所以使用承诺。这一切看起来都很有趣,因为请求是相互独立的)

const  myFunction = async ()=>{
let someData=[{ID:55,name:'name1',firstname:'fname1',address:'address1'},
{ID:26,name:'name2',firstname:'fname2',address:'address2'},
{ID:88,name:'name3',firstname:'fname3',address:'address3'}]

for (let i = 0; i < someData.length; i++) {
someData[i].country = await getCountryFromDatabase(someData[i].ID)
}
}

谢谢

将该数组映射到一个promise数组,在API调用结束后,使用对映射回调中对象的引用来改变它。

let someData = [{ ID: 55, name: 'name1', firstname: 'fname1', address: 'address1' },
{ ID: 26, name: 'name2', firstname: 'fname2', address: 'address2' },
{ ID: 88, name: 'name3', firstname: 'fname3', address: 'address3' }]
await Promise.all(
someData.map(obj => (
getCountryFromDatabase(obj.ID).then((country) => {
obj.country = country;
})
))
);

相关内容

  • 没有找到相关文章

最新更新