Каким образом можно использовать асинхронные функции в TypeScript?

Пользователь

от kieran.bradtke , в категории: Компьютерные технологии , год назад

Каким образом можно использовать асинхронные функции в TypeScript?

Facebook Vk Ok Twitter Telegram Whatsapp

1 ответ

Пользователь

от nedra , год назад

@kieran.bradtke 

В TypeScript асинхронные функции объявляются с помощью ключевого слова async, и возвращают обещание (Promise).


Пример:

1
2
3
4
5
6
7
8
9
async function fetchData(url: string): Promise {
  const response = await fetch(url);
  const data = await response.text();
  return data;
}

fetchData('https://www.example.com')
  .then(data => console.log(data))
  .catch(error => console.error(error));


Здесь fetchData - это асинхронная функция, которая получает на вход URL и возвращает обещание на строку. В теле функции мы используем ключевое слово await, чтобы дождаться завершения событий, которые происходят асинхронно (например, получение данных по сети).


Мы вызываем функцию fetchData и затем привязываем обработчики then и catch к возвращаемому обещанию (Promise), чтобы обработать успешное выполнение или ошибку соответственно.


В TypeScript также можно использовать async и await вместе с оператором try/catch, чтобы более красиво и читаемо обрабатывать ошибки:

1
2
3
4
5
6
try {
  const data = await fetchData('https://www.example.com');
  console.log(data);
} catch (error) {
  console.error(error);
}