обьясните простыми словами зачем нужны промисы
Для написания более лаконичного асинхронного кода, с помощью промисов можно избавиться от callback hell и организовать так называемую цепочку промисов.
Нативные промисы в джс похожи на асинхронные монады, но однако не являются ими