Reputation: 97
new Promise((resolve, reject) => {
setTimeout(function() {
console.log(1)
resolve()
}, 200)
}).then(new Promise((resolve, reject) => {
setTimeout(function() {
console.log(2)
resolve()
}, 0)
}))
Why this output is 2 1,not 1 2? The promise should do things in order?Why it happens
Upvotes: 1
Views: 50
Reputation: 7891
then
's first parameter is a callback function. Reference - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then.
new Promise((resolve, reject) => {
setTimeout(function () {
console.log(1)
resolve()
}, 200)
}).then(() => {
return new Promise((resolve, reject) => {
setTimeout(function () {
console.log(2);
resolve();
}, 0)});
});
Upvotes: 3