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

时间:2019-05-15 15:43:01

标签: javascript reactjs async-await

异步获取数据时,异步/等待已派上用场,尤其是在

btnSaveCreate.InnerText = "Save";
btnSaveCreate.Attributes.Add("class", "fas fa-road");

此外,从多个端点进行抓取时,可以轻松使用

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 })
    }

}

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

1 个答案:

答案 0 :(得分:2)

如果您想并行执行它们,那么您仍然会Promise.all。您只需await而不是调用.then

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