前端笔记-什么是JS异步
前端笔记-什么是JS异步
什么是异步
因为JS是一个单线程语言
,而他又是运行在浏览器的渲染主线程之中,浏览器的渲染主线程只有一个
,其承载着诸多的渲染任务,比如:
- 渲染页面
- 解析HTML
- 执行JS
- 等等.......
如果在JS有计时器之类的任务存在,此时采用同步的方式执行任务,那么就有可能造成主线程阻塞,从而导致消息队列中其他任务无法执行,就造成了主线程一直处于等待状态,也会让页面无法及时更新,给用户造成卡死的现象。
为了避免这个现象,浏览器采用了异步的方式来执行。比如在执行计时器,网络,事件监听这类任务的时候主线程就将这个任务交给其他线程进行处理,从而去执行队列中的其他任务,等其他线程完成任务后,将传递的回调函数包装成任务,添加到消息队列的末尾,等待主线程执行。
这就是异步,可以让浏览器线程不阻塞,从而保证了单线程的流畅性。
同步执行任务的流程
异步执行任务的流程
前端笔记-什么是JS异步
https://xsunhua.cn/798.html



共有 0 条评论