处理嵌套的 Promise 函数调用

问题描述 投票:0回答:0

如果我有一个获取 api 响应并等待它的函数,就像这样:

async function getResponse(repo) {
  const apiResponse = await axios.get(...); // uses repo
  return apiResponse;
}

我有一个函数可以将这个函数应用于许多回购:

async function getResponsesMany(repos) {
  const promises = [];
  repos.forEach(repo => promises.push(getResponse(repo));
  const responses = await Promise.all(promises);
  return responses;
}

我可以这样得到我所有的数据:

const allData = await getResponsesMany(myRepos);

但这对我来说很奇怪,因为

getResponse
正在等待
axios.get
电话,但我觉得我不需要这样做,因为当我
await Promise.all(promises)
它会处理任何嵌套的承诺。因此,我是否应该重构
getResponse
以返回
axios.get
返回的承诺?有理由比另一个快吗?

javascript node.js asynchronous promise
© www.soinside.com 2019 - 2024. All rights reserved.