Sobes.tech
Назад к вопросам
Junior — Middle
83

Можете объяснить концепцию асинхронного программирования с использованием операций Async и Await?

Ответ от нейросети

sobes.tech AI

Асинхронное программирование в Node.js позволяет выполнять операции ввода-вывода (например, чтение файлов, запросы к базе данных, сетевые запросы) без блокировки основного потока выполнения. Это достигается с помощью ключевых слов async и await.

  • async перед функцией означает, что функция возвращает Promise и внутри неё можно использовать await.
  • await приостанавливает выполнение функции до тех пор, пока Promise не выполнится (разрешится или отклонится), позволяя писать асинхронный код в синхронном стиле.

Пример:

const fetch = require('node-fetch');

async function getData() {
  try {
    const response = await fetch('https://api.example.com/data');
    const data = await response.json();
    console.log(data);
  } catch (error) {
    console.error('Ошибка:', error);
  }
}

getData();

В этом примере await заставляет функцию дождаться ответа от fetch, не блокируя при этом весь поток Node.js. Это упрощает работу с асинхронным кодом и улучшает читаемость по сравнению с использованием цепочек .then().