EventLoop

1.JavaScript是单线程语言,单线程执行任务队列问题:如果前一个任务非常耗时,则后续的任务就要一直等待,导致程序出现假死问题。

2.同步任务和异步任务

  为了防止某个耗时任务导致程序假死的问题

  (1)同步任务(synchronous)

    非耗时任务,指的是主线程上排队执行的那些任务,只有前一个任务执行完毕,才能执行后一个任务

  (2)异步任务(asynchronous)

    耗时任务,异步任务由JavaScript委托给宿主环境(js执行环境,对JavaScript来说,主要的执行环境就是:浏览器和node.js环境)进行执行,当异步任务执行完成后,会通知JavaScript主线程执行异步任务的回调函数

3.同步任务和异步任务的执行过程

 

 4.EventLoop的基本概念

  JavaScript主线程从“任务队列”中读取异步任务的回调函数,放到执行栈中依次执行。这个过程循环不断,整个这种运行机制称为EventLoop(事件循环)

5.结合EventLoop分析输出的顺序

 

posted @ 2021-12-03 16:01  laiyue  阅读(62)  评论(0)    收藏  举报