@petroshevchenko1525

Как бы выглядел данный код если вместо async/await использовать then и catch?

Есть в React приложении такой метод:

fetchData = async () => {
   try {
    const response = await fetch(`https://........`);
    const data = (await response.json()).group;
    this.setState({
        data: data,
        car: Object.keys(data)[0] 
      },this.filter);
    } catch(err) {
      console.log("404 Not Found");
    }
  };


Как написать эту часть без синтаксиса async/await, а с использованием then и catch?
  • Вопрос задан
  • 106 просмотров
Решения вопроса 2
Seasle
@Seasle Куратор тега JavaScript
const fetchData = () => {
    fetch('...')
        .then(response => response.json())
        .then(({ group }) => {
            this.setState({
                data: group,
                car: Object.keys(group)[0]
            }, this.filter);
        })
        .catch(error => {
            console.log('404 Not Found');
        });
};
Ответ написан
then и catch относятся не к React а к JS, так что соответственно такие методы есть.

fetchData = () => {
  fetch(`https://........`)
    .then((response) => response.json())
    .then((data) => {
      const groupedData = data.group;
      this.setState({
        data: groupedData,
        car: Object.keys(groupedData)[0]
      }, this.filter);
    })
    .catch(() => {
      console.log("404 Not Found");
    });
};
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы