console.log(1);//1.
log();//2.
setTimeout(() => {
console.log(2);
}, 0);
function log() {
setTimeout(() => {
console.log(3);
setTimeout(() => {
console.log(4);
}, 0);
}, 0);
let p = new Promise( resolve => {//3.
setTimeout(() => {
console.log(5);
}, 0);
resolve(()=> {
setTimeout(() => {
console.log(6);
setTimeout(() => {
console.log(7);
}, 0);
}, 0);
})
})
p.then( success => {//4.
setTimeout(() => {
console.log(8);
}, 0);
success();
})
}