console.log(‘start‘)console.log(‘browser = start 6 end 7 1 2 3 4‘);console.log(‘node = start 6 end 7 1 3 5 2 4‘)// 差异点// 执行栈都是只有一个,但是浏览器只有一个任务队列;node 有6个任务队列// 浏览
console.log(‘start‘)console.log(‘browser => start 6 end 7 1 2 3 4‘);console.log(‘node => start 6 end 7 1 3 5 2 4‘)// 差异点// 执行栈都是只有一个,但是浏览器只有一个任务队列;node 有6个任务队列// 浏览器一个任务队列中包括宏任务与微任务,宏任务结束立即运行微任务// node在每一个任务队列执行完成后执行微任务// process.nextTick 优先于promise执行setTimeout(() => { console.log(1) Promise.resolve(2).then(data => console.log(data))}, 100)setTimeout(() => { console.log(3) Promise.resolve(4).then(data => console.log(data)) process && process.nextTick(() => { console.log(5) })}, 100)new Promise((resolve,reject) => { console.log(6) resolve(7)}).then(data => { console.log(data)})console.log(‘end‘)