微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

node.js与浏览器的单线程

 
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‘)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐