получить данные из нескольких API с помощью асинхронного ожидания - PullRequest
0 голосов
/ 15 мая 2019

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.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 ?

1 Ответ

2 голосов
/ 15 мая 2019

Если вы хотите сделать их параллельно, тогда вы все равно будете 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);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...