事件循环(EventLoop)、宏任务微任务

前言

javascript是一门单线程脚本语言,在执行任务时需要一个一个去执行,一旦遇到非常耗时的任务时,就会导致阻塞,造成程序假死现象。针对这个问题,javascript便将执行的任务分为两类,即同步任务和异步任务。在主线程执行栈中执行程序时,若遇到异步任务,便将异步任务交给异步处理器进行处理,异步处理器将已完成的异步任务的回调函数放到异步队列中,等待执行,当主线程执行栈中的同步任务执行完毕后,会读取异步队列中的回调函数,按次序依次执行。知道了同步任务和异步任务的概念,下面我们来了解什么是事件循环(EventLoop)
事件循环(EventLoop)、宏任务微任务_第1张图片

宏任务和微任务

javascript将异步任务又进一步划分成了宏任务和微任务;
常见的宏任务有:Ajax请求、文件操作、setTimeout、setInterval
常见的微任务: Promise的then、catch、finally方法,Process.nextTick;
事件循环(EventLoop)、宏任务微任务_第2张图片
宏任务和微任务的执行顺序
事件循环(EventLoop)、宏任务微任务_第3张图片
便于理解的生活场景映射
①小云和小腾去银行办业务。首先

你可能感兴趣的:(javascript,前端)