如何从.map循环中返回从aPI获取数据



我试图在URL数组上循环,并在该URL的端点获取数据,然后将其存储为数组(allData)中的JSON对象。当我运行代码并检查allData中的内容时,它连续是一个null数组。这告诉我,我没有正确地从。map返回?我如何做到这一点,因为数据来自异步函数。下面是我的代码。由于

const allData = urls.map((url)=>{
fetch(url)
.then(response => response.json())
.then((data) => {return data})
.catch(err => console.log(err))
})   

您需要等待数组中的承诺被解析,然后在.map函数中返回承诺

const urls = ['https://mocki.io/v1/d4867d8b-b5d5-4a48-a4ab-79131b5809b8', 'https://mocki.io/v1/d4867d8b-b5d5-4a48-a4ab-79131b5809b8']
const allData = urls.map((url)=>{
return fetch(url)
.then(response => response.json())
.then((data) => {return data})
.catch(err => console.log(err))
})   
Promise.all(allData).then(console.log)

最新更新