【如何理解JS的异步】

本文解释了JavaScript作为单线程语言为何需要异步处理,以避免主线程因定时器等任务阻塞导致浏览器卡死。通过异步任务调度,保证了浏览器的流畅运行。
摘要由CSDN通过智能技术生成

问题

如何理解JS的异步?

参考答案

JS是一门单线程语言,因为JS是运行在浏览器的主线程中的,而浏览器的主线程只有一个
而浏览器主线程是非常繁忙的,它需要承担着解析hteml、解析css、渲染页面、执行Js等任务。
如果都使用同步,那么意味着主线程将有极大的可能会被阻塞、例如定时器。假设主线程中遇到了一个10s的定时器,那么意味着主线程将要等待这个定时器完成,也就是等待10s后,才会去执行之后的任务。而之后的任务保不准会有渲染页面的任务,那么这10s里,浏览器将可能是一片空白。也就是我们所谓的白屏卡死
所以浏览器采用了异步来进行任务调度、避免卡死。具体是将一些定时器、网络、监听事件之类的需要时间等待的任务,交给其他进程处理。也就是异步任务。在这种异步模式下,保证了浏览器不会卡死,从而最大限度的保证了单线程的流畅运行

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值