1. Объявление константы promise.
2. Создание promise и вызов cb переданного в конструктор Promise (стрелочная функция) и соотв. запуск таймера (setTimeout).
3. Для возвращенного promise вызывается then и регистрируется обработчик выполнения, затем then возвращает новый promise.
4. Ссылка на возвращенный из then promise присваивается константе promise.
5. Через секунду выполняется resolve('Success') и ранее зарегистрированный обработчик выполнения promise (вызывается первый cb переданный в then) выводит в консоли 'Success'.