Встречается на собеседованиях • сегодня

Какие знаешь способы работы с асинхронным кодом в JS

В JavaScript есть несколько основных способов работы с асинхронным кодом:

  1. Callback - передача функции, которая выполнится после завершения операции:
js
fs.readFile('file.txt', (err, data) => {
  if (err) throw err;
  console.log(data);
});
  1. Promise - объект, представляющий успех/неудачу асинхронной операции:
js
fetch('url')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(err => console.error(err));
  1. Async/Await - синтаксический сахар над Promise:
js
async function getData() {
  try {
    const response = await fetch('url');
    const data = await response.json();
    console.log(data);
  } catch (err) {
    console.error(err);
  }
}
  1. Генераторы - функции, которые можно приостанавливать и возобновлять:
js
function* asyncGen() {
  const data = yield fetch('url').then(res => res.json());
  console.log(data);
}
  1. Event Emitters - паттерн событий (используется в Node.js):
js
const emitter = new EventEmitter();
emitter.on('data', data => console.log(data));
someAsyncOperation().then(data => emitter.emit('data', data));
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы