// let p0 = new Promise(function (resolve, reject) {
// resolve()
// console.log(`6`)
// }).then((res) => {
// console.log(`0`);
// }).then((res) => {
// console.log(`1`);
// })
// let p1 = new Promise(function (resolve, reject) {
// resolve()
// }).then(() => {
// console.log(`2`);
// })
// p0.then((res) => {
// console.log(`3`);
// }).then(() => {
// console.log(`4`)
// })
// console.log(`5`)
/*
首先执行同步代码(promise回调中的也属于同步代码,所以先执行po中的resolve,将
console.log(0)加入到了微任务队列,打印6,接着执行p1中的resolve,将
console.log(`2`)加入到了微任务队列,然后打印5,然后根据从上往下的执行
顺序先后将console.log(1)、console.log(3)和
console.log(4)依次加入到微任务队列,然后根据微任务队列的排序,先后打印0、2、
1、3、4)
*/
// setTimeout(function() {
// console.log('a')
// }, 0)
// new Promise(function(resolve) {
// console.log('b')
// for (let i = 0; i < 10000; i++) {
// if (i === 10) {
// console.log('c')
// }
// i == 9999 && resolve('d')
// }
// }).then(function(val) {
// console.log(val)
// })
// console.log('e');
// console.log('1');
// setTimeout(function() {
// console.log('2');
// process.nextTick(function() {
// console.log('3');
// })
// new Promise(function(resolve) {
// console.log('4');
// resolve();
// }).then(function() {
// console.log('5')
// })
// })
// process.nextTick(function() {
// console.log('6');
// })
// new Promise(function(resolve) {
// console.log('7');
// resolve();
// }).then(function() {
// console.log('8')
// })
// setTimeout(function() {
// console.log('9');
// process.nextTick(function() {
// console.log('10');
// })
// new Promise(function(resolve) {
// console.log('11');
// resolve();
// }).then(function() {
// console.log('12')
// })
// })
//1,7,6,8,2,4,3,5,9,11,10,12。
console