javascript是一门单线程语言,这是因为它运行在浏览器的渲染主线程中,而渲染主线程只有一个
而渲染主线程承担着很多任务,渲染页面,执行js都在其中。如果使用同步的方式,就极有可能
导致主线程产生阻塞,从而导致消息队列中有很多任务无法执行,这样就会导致主线程白白的消耗
时间,导致页面无法及时更新,给用户造成卡死现象。
所以浏览器采用异步方式来规避这种现象,具体做法就是当某些事件发生时,比如计时器,网络
请求,事件监听等发生时,主线程将他们交给其他线程去处理,自身立即结束当前任务的执行,
去执行后续代码,当其他线程把异步任务执行完成过后,将他们加入到消息队列的末尾,等待
主线程调用。这种模式下浏览器永不阻塞,保证了单线程的流畅运行。
JavaScript的异步
猜你喜欢
转载自blog.csdn.net/Jonn1124/article/details/130525370
今日推荐
周排行