@IvanIvanIvanIvanIvan

Как правильно записать Promise?

У менять есть функция
export const getNews = async () => {
    let news;
    try {
      fetch(`https://newsapi.org/v2/top-headlines?country=us&apiKey='''''''''`)
        .then(res => res.json())
        .then(res => {
            news = res;
        })
    } catch(e){
      throw e;
    }
    return news;
};


Она делает запрос на сервер и получает новости (я проверял в консоль выводит)

Как мне вызвать правильно эту функция, и получить новости

getNews()
						.then(result => {
							console.log(result);
						})
						.catch(error => {
							console.log(error);
						});


У меня result выводит undifined
  • Вопрос задан
  • 266 просмотров
Решения вопроса 1
@StockholmSyndrome
export const getNews = async () => {
  let news;
  try {
    news = await fetch(`https://newsapi.org/v2/top-headlines?country=us&apiKey='''''''''`).then(res => res.json());
  } catch(e){
    throw e;
  }
  return news;
};
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Не нужно использовать try...catch, вы же используете промисы, а у них есть своя реализация обработки ошибок.

export const getNews = async () => {
    return fetch(`https://newsapi.org/v2/top-headlines?country=us&apiKey='''''''''`)
        .then(res => res.json())
        .then(res => {
            return res;
        });
};


и потом просто используете

getNews()
            .then(news => {
              console.log(news);
            })
            .catch(error => {
              console.log(error);
            });
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект