Одноразовая обработка событий с использованием обещаний?

Довольно обычный сценарий. Я хочу иметь какой-то отделенный кусок кода, который запускает событие, когда что-то готово. Это произойдет только один раз за весь запуск приложения.

С другой стороны, есть еще один фрагмент кода, где я хочу, чтобы что-то еще происходило, когда два или более события запускаются. Я имею в виду, как и все они, как зависимости.

Хорошо, больше асинхронных вещей вместе ... определенно обещает, верно?

Тогда я начал думать. Действительно ли разумно использовать pub / sub для одноразовых мероприятий? Не лучше ли просто сделать доступное обещание, которое разрешается, как только это событие должно быть запущено? Однако это означало бы, что мне нужно соединить этот разъединенный код. Одна вещь - иметь общий EventEmitter, но зависеть от некоторого кода, чтобы создать обещание ... это звучит довольно плохо.

Поэтому я думаю о какой-то смеси. Наличие модуля, в котором другие модули могут запрашивать «событие» по его имени и получение подготовленного объекта Promise. Другой модуль должен затем инициировать это событие и таким образом эффективно выполнить / отклонить это событие.

var promisedLand = require('./promisedLand');
promisedLand.waitFor('event'); // returns promise
promisedLand.resolve('event', value);
promisedLand.reject('event', error);

Что вы думаете об этом решении? Есть ли шанс, что такое решение уже доступно?

Ответы на вопрос(2)

Ваш ответ на вопрос