大家好,我是指针。冬天到了,人也变懒了,为了让自己动起来,我报名参加了拉钩教育的大前端高薪训练营。学习需要总结,需要分享,需要鞭策,于是便有了《针爱学前端》这一系列,希望大家看完能够有收获。如果文章中有不对的地方,希望能批评指针,不吝赐教!!!
JavaScript异步编程
0.先做题,醒醒脑子,成功的请直接跳转到参考,失败的按照顺序往下看
console.log(1)
setTimeout(()=> {
console.log(2)
}, 0)
new Promise(res => {
console.log(3)
setTimeout(()=> {
console.log(4)
res()
},0)
}).then(()=> {
console.log(5)
})
console.log(6)
1.概念叨叨叨,让异步等一会儿
众所周知JavaScript是单线程的,当初设计出来就是运行在浏览器上的脚本语言,浏览器最重要的操作就是Dom操作,而为了避免多个线程同时修改一个Dom,造成冲突,JavaScript就采用了单线程。
优点:中华人民共和国46年,JavaScript上任浏览器,拿着喇叭大喊,我来浏览器就为三件事:安全!安全!还是TMD的安全!!!
但是!!!剿匪需要时间,打黄老爷需要时间,老百姓还在等着呢!可惜了,咱兄弟一直是一起行动的(JS执行环境中负责执行代码的线程只有一个),现在耗时的事儿太多堵塞了呀。不过张麻子聪明啊,咱们兄弟这么多人分成俩队,一个叫同步模式队,一个叫异步模式队。不耗时的活比如贴大字报(console.log()
)由同步模式队做,耗时的比如赴宴、喝酒、调兵(延时,ajax)就让异步模式队干。等同步模式队干完了,异步模式队再按照时间长短把活儿给干了,先剿匪,再杀黄四郎,咱一定还浏览器一个朗朗乾坤。
“大哥,异步还没做,在排队”。
“不急,让异步等一会儿!”
2.同步模式
同步模式指的不是一起执行,而是依次执行,一件事干完,下一件事儿上,执行顺序与代码编写顺序一致。具体的不说了,懂得都懂
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。