Задать вопрос
@vasIvas

EventEmitter и а-синхронность?

Возможно ли при помощи EventEmitter.. не знаю, как сказать... создать асинхронную цепочку событий?
  • Вопрос задан
  • 2824 просмотра
Подписаться 1 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Javascript.ru
    Курс по Node.js
    5 недель
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
Сам по себе EventEmitter.emit - синхронная функция, что может многих удивить.
process.on('ev', function() {
  console.log('ev');
});
(function() {
  console.log('a');
  process.emit('ev');
  console.log('b');
} ());
//a
//ev
//b

Но на этом синхронность заканчивается. Т.е. например если process.on('ev', cb) был вызван не столь тривиально и в нескольких местах в асинхронном коде, я бы не советовал вам даже пытаться понять какой из cb будет вызван первым. Я не утверждаю, что у вас не получится вычислить последовательность вызова, но говорю что вычислять ее в корне неправильно - это антипаттерн. Если вы хотите быть уверенным в последовательности вызова используйте коллбеки или промизы, но не события.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы