Ключевым аспектом первого примера является то, что .then (promiseDelay) возвращает обещание , которое задерживает выполнение на одну секунду, поэтому следующее обещание выполняется только после того, как это разрешено, так как каждый .then
получает в качестве параметра результат .then
before, создавая цепочку.
Во втором примере каждая строка возвращает новое обещание , но так как ожидания не ожидаются, каждая строка оценивается последовательно, и обещания просто становятся отложенными выполнениями, поэтому те с console.log
завершит выполнение первым, чем те, с задержкой в одну секунду.