'use strict';
setTimeout(function () {
console.log('three');
}, 0);
new Promise(function(resolve,reject){
console.log(1);
resolve(1);
console.log(2);
}).then(function () {
console.log('two');
});
console.log('one');
new Promise时除了resolve或者reject(需要then或者catch,或者await)的代码都是在定义时立即执行。而.then,以及.catch会在此次事件循环的末尾执行,而setTimeout会在下次事件开始的时候执行。
'use strict';
new Promise(function (resolve, reject) {
console.log('Promise');
resolve();
new Promise(function (resolve, reject) {
console.log('Promise>>>');
resolve();
}).then(function () {
console.log('resolved.>>>');
})
}).then(function () {
console.log('resolved.');
})
另外可以看下mdn事件循环。