Я заметил, что в следующем коде:
setTimeout(function(){console.log('setTimeout')});
Promise.resolve(1).then(function(){console.log('promise resolve')})
Независимо от того, сколько раз я выполняю это, функция callback всегда регистрируется перед setTimeout.
Я понимаю, что оба обратных вызова запланированы для следующего тика, и я действительно не понимаю, что происходит, что обещает всегда учитывать предел времени ожидания.