Задача на знание event Loop

В каком порядке и какие значения выведутся.

let a = 5;

setTimeout(function timeout() {
    // console.log(a);
    a = 10;
}, 0);

var p = new Promise(function(resolve, reject) {
    // console.log(a);
    a = 25;
    setTimeout(resolve, 0);
});

p.then(function() {
    a = 30;
    // console.log(a);
});

// console.log(a);

Оставьте комментарий