Зачем нужны Promises

Cложности асинхронного программированнием.

  1. Сложность обработки заданной цепочки событий (click -> keypress -> ...)
  2. Необходимость следить за своевременным добавлением и удаленим обработчиков событий
  3. Callback Hell:
    • Необходимость во вложенных callback-функциях - трудность чтения и понимания кода.
    • Объект - посредник для обмена данными callback-функций создает сильно связанный код.
    • Проблема поиска ошибок внутри вложенностей т.к. ошибки всплывают.
async Hell

Пример, который можно заменить на Promise.race([])

Обратите внимание на использование объекта асинхронными функциями

See the Pen Before promise race by Gennadiy (@Gorbulin) on CodePen.

Пример, который можно заменить на Promise.all([])

See the Pen before promise all by Gennadiy (@Gorbulin) on CodePen.

Пример того как promise обрабатывает callback и ошибки

use promise