Статья рассматривает сценарии (многоэтапные последовательности действий) в асинхронных (распределенных) системах — какие реализации бывают, какие плюсы и минусы у разных подходов. Стиль написания логики сценария будем характеризовать по двум параметрам: активный или реактивный и явный или неявный.
Поговорим о плюшках пакета, который предоставляет расширенную версию нативного Promise (наследуется от него). Основная причина его появления — эксперименты с закрытием промисов. Большинство существующих решений рассматривают этот процесс как прекращение выполнения навешанных через then колбеков. Автору пришла идея запилить свое решение, у которого закрытие — это старый добрый реджект со специальной ошибкой и рекурсивного вызова пользовательских обработчиков, подписанных на close событие.
Коментарі