1. Больше интересует, как объяснить, почему после 4 идет 7? (Почему он, допустим, не продолжает цепочку? (после 4 не выводится5)
2. И как объяснить, что после 3 выводится 6 - потому что не микротаски?
Заранее благодарен за ответы.
console.log(1);
setTimeout(() => console.log(2), 0);
new Promise((resolve, reject) => resolve(console.log(3)))
.then(() => console.log(4))
.then(() => console.log(5));
new Promise((resolve, reject) => resolve(console.log(6)))
.then(() => console.log(7))
.catch(() => console.log(8))
.then(() => console.log(9))
.finally(() => console.log(10));
console.log(11);
UPD: еще такой кейс
console.log(1);
setTimeout(() => console.log(2), 0);
new Promise((resolve, reject) => resolve(console.log(6)))
.then(() => {
console.log(7)
const pokemon = fetch('https://pokeapi.co/api/v2/pokemon/ditto/')
return pokemon;
})
.then(() => console.log(9))
.finally(() => console.log(10));
new Promise((resolve, reject) => resolve(console.log(3)))
.then(() => console.log(4))
.then(() => console.log(5));
console.log(11);