Javascript 使用异步等待从多个API获取数据

Javascript 使用异步等待从多个API获取数据,javascript,reactjs,async-await,Javascript,Reactjs,Async Await,异步/等待在异步获取数据时非常方便,尤其是在 async componentDidMount() { try { const response = await axios.get(endpoints.one) const data = await response this.setState({ data, isLoading: false }) } catch (e) { this.setState({ errors: e

异步/等待在异步获取数据时非常方便,尤其是在

async componentDidMount() {
    try {
       const response = await axios.get(endpoints.one)
       const data = await response
       this.setState({ data, isLoading: false })
    } catch (e) {
       this.setState({ errors: e.response })
    }

}
此外,当从多个端点获取数据时,可以很容易地使用

Promise.all([
  fetch(endpoints.one),
  fetch(endpoints.two),
]).then(([data1, data2]) => {
  console.log(data1, data2)
}).catch((err) => {
  console.log(err);
});

但是,如何使用aync/await从多个源获取数据,而不是Promise.all

如果您想并行执行,那么您仍然可以Promise.all。您只需等待结果,而不是调用
。然后

async someFunction() {
  try {
    const [data1, data2] = await Promise.all([
      fetch(endpoints.one),
      fetch(endpoints.two),
    ]);
    console.log(data1, data2);
  } catch (err) {
    console.log(err);
  }
}

您可以等待
Promise.all()
。从这里可以看到一些答案,提供无需承诺的解决方案。all:您可以简单地等待承诺。all()这是一个好主意,但是当您这样做时,组件会挂载
async componentDidMount(){someFunction()}
您在响应中没有获取数据您是指我的示例中没有return语句这一事实吗?