Как сделать вызов асинхронной функции js? — Q&A Хекслет
2026-02-26 23:18 Diff

Ответы

Рассмотрим два варианта вызова асинхронной функции: с помощью ключевого слова then и с помощью конструкции async / await.

Создадим асинхронную функцию, которая имитирует загрузку списка товаров с сервера:

const products = [ {id: '1', title: 'product1'}, {id: '2', title: 'product2'}, {id: '3', title: 'product3'}, {id: '4', title: 'product4'}, {id: '5', title: 'product5'}, ]; const fetchProducts = () => { return new Promise((resolve, _reject) => { setTimeout(() => resolve(products), 500); }); };

Теперь вызовем нашу функцию.

  • С помощью ключевого слова then:
fetchProducts() .then((data) => console.log(data)); /* => [ {id: '1', title: 'product1'}, {id: '2', title: 'product2'}, {id: '3', title: 'product3'}, {id: '4', title: 'product4'}, {id: '5', title: 'product5'} ] */
  • C помощью async / await:
const getProductsFromServer = async () => { const data = await fetchProducts(); console.log(data); }; getProductsFromServer(); /* => [ {id: '1', title: 'product1'}, {id: '2', title: 'product2'}, {id: '3', title: 'product3'}, {id: '4', title: 'product4'}, {id: '5', title: 'product5'} ] */