Объяснение
Promise представляет будущий результат. await приостанавливает async-функцию, но не блокирует весь поток JavaScript. Microtasks выполняются после текущего стека до следующей обычной задачи.
Задача для самостоятельного решения
В каком порядке появятся A, Promise.then(B), C?
Показать разбор ответа
A, C, B: синхронный стек завершается до callback promise. Длительные вычисления в callback всё равно блокируют интерфейс.