Предварительный ответ на вопрос – нет.
Пусть меня поправят, если я не прав, но однозначно ответить нельзя. Так как порядок выполнения зависит от многих факторов, например, успела ли система навесить хендлер (или N хендлеров) на ту или иную операци(-ю/-и) до того, как начался проход по витку цикла или же это произошло уже после, и тд.
Я тут быстренько наговнокодил, чтобы можно было поиграться и посмотреть поведение.
https://gist.github.com/gltumakov/383f09384b99ee5c3a5113c2197a3ff0Например, если запустить код с теми кусочками кода, которые незакомменчены, НЕСКОЛЬКО РАЗ то поведение будет разное: в одних случаях первым будет виден консоль лог – “callback”, в другом – “promisified”
Думаю, так происходит потому, что оборачивание в промис происходит уже после того, как C-шный код обернул результат выполнения I/O и отдал коллбэк в js. Т.е. оборачивание в промис происходит на более позднем этапе на уровне самого js