Несколько особенностей работы с промисами, которые делают их удобными для асинхронного программирования:
- Возможность откладывать блоки кода до момента выполнения или отклонения действия. 1 Вместо передачи обратных вызовов в функцию они прикрепляются к концу промиса, что обеспечивает лучшую читаемость кода. 1
- Объединение промисов в цепочки. 1 Это помогает упорядочить код, сделать его удобочитаемым и устранить чрезмерную сложность. 1 После выполнения каждого промиса можно вернуть следующий промис последовательности, и так до завершения всех действий. 1
- Схлопывание промисов. 2 Если вложить один промис в другой, они схлопнутся в один. 2
- Перехват ошибок. 3 Если что-то пошло не так, то программа не упадёт, а управление перейдёт к последней строчке с catch(), причём независимо от того, в каком из запросов ошибка появится. 3