javascript事件循环event loop的简单模型解释与应用分析
本文实例讲述了javascript事件循环eventloop的简单模型解释与应用.分享给大家供大家参考,具体如下:
js是单线程的,但是eventloop的出现,使得js拥有可以处理高并发的性能。那么怎么理解eventloop呢?网上百度一堆文章,什么heap,stack,microqueue,macroqueue,让初学者直接懵掉。这里采用很通俗的理解方式介绍下eventloop.
eventloop顾名思义是事件循环,既然是循环,那循环的是什么呢?
对于一个js文件,
1,执行当前执行上下文(初次是全局作用域)的所有同步任务,有异步任务的透出
2,执行任务队列里第一个异步任务,
3,执行当前异步任务执行上下文的所有同步任务,有异步任务透出
从上面的执行顺序可以清楚的看到循环执行的是什么,eventloop循环中的循环任务是指:
执行某个执行上下文的所有同步任务,透出异步任务
看一个简单实例:
event-loop-test