如何从等待/异步循环返回数据?

时间:2020-01-27 15:52:39

标签: javascript asynchronous async-await

我需要对API发出几个异步http请求,以获取一些数据。在这样的函数中循环设置非常简单:

async function fetchData() {

  let data = {}
  for (const asset of someAssets) {
    try {
      data[asset.id] = await library.fetchSomeData(asset.id)
    } catch (err) {
      console.error(err)
    }
  }

  return data
}

let data = fetchData()
console.log(data)

这里的问题是最后一个console.log(data)作为未处理的Promise而不是数据返回。如何解决此问题?我是否还需要将我的“主要”代码(在底部)包装在async函数中?在什么时候我的整个项目只需要包裹一个async函数?

0 个答案:

没有答案