Open
Description
new Promise((resolve, reject) => {
resolve();
})
.then(() => {
console.log('outer tick0');
new Promise((resolve, reject) => {
resolve();
})
.then(() => {
console.log('inner tick0');
return Promise.resolve();
})
.then(() => {
console.log('inner tick1');
})
})
.then(() => {
console.log('outer tick1');
})
.then(() => {
console.log('outer tick2');
})
.then(() => {
console.log('outer tick3');
})
.then(() => {
console.log('outer tick4');
})
// native promise output
// outer tick0
// inner tick0
// outer tick1
// outer tick2
// outer tick3
// inner tick1
// outer tick4
// then/Promise output
// outer tick0
// inner tick0
// outer tick1
// inner tick1
// outer tick2
// outer tick3
// outer tick4
What's the reason behind this?
Metadata
Metadata
Assignees
Labels
No labels