Ты ещё больше покури и поймёшь, что promise.then — ничто иное как монада…
Да я читал про это, что промисы заимствованы из функциональных ЯП. У меня знакомство с ФП началось с Common LISP, в универе, мне не зашло, возможно я просто не был к этому готов. Сейчас приходится частенько на JS писать, вот эти конструкции promise.then()/done/error - мне показались очень удобной штукой. С помощью них очень удобно составлять какие то сложные цепочки вызовов, и действий, очень удобно обрабатывать ошибки. Вот даже подумываю, может действительно ради интереса освоить функциональный ЯП, для общего развития. С чего бы ты посоветовал начать? Ты вроде в ФП рубишь норм, только не Common LISP.