Шпаргалка по внутреннему устройству промисов (ECMAScript).
Описанные здесь алгоритмы - моя интерпретация спецификации, так как некоторые шаги опущены/видоизменены для простоты.
Конструктор Promise - Promise ( executor )
1. Если Promise вызван без new, выбросить TypeError.
2. Если executor не является функцией, выбросить TypeError.
3. Создать объект promise со свойствами: