Page 249 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 249
• Обязательства устраняют проблему многократного вызова функций обратного
вызова.
• Если необходим многократный вызов функций обратного вызова, рассмот
рите возможность использования событий (которые можно комбинировать
с обязательством).
• Обязательства могут быть сцеплены, что упрощает композицию.
• Обязательства могут быть объединены с пускателями генераторов, чтобы по
зволить синхронную семантику, не теряя преимуществ асинхронного выпол
нения.
• При написании функций генератора с синхронной семантикой следует быть
внимательными и четко понимать, какие части вашего алгоритма могут вы
полняться параллельно с использованием метода Promise . all.
• Вам не стоит писать собственные пускатели генераторов; используйте со или Коа.
• Вам не стоит писать собственный код для преобразования обратных вызовов
в стиле Node в обязательства; используйте Q.
• Обработка исключений работает с синхронной семантикой, как позволяют пус
катели генераторов.
Если вы имеете опыт программирования только на языках с синхронной семан
тикой, изучение способов асинхронного программирования на JavaScript может при
вести вас в замешательство, как это было со мной. Однако это необходимый навык
в современных проектах JavaScript.
252 Глава 1 4 . Асинхронное программирование

