事件循环:
执行栈在执行代码的时候,会从上往下执行,当碰到异步代码时候,
会将异步代码交给浏览器的异步模块去处理,主线继续执行,当执行
完成以后会去事件队列里面不断的循环查找是否有可以执行的代码,如果说有了
就会从里面取出来到执行栈里面去执行,取任务时候(取宏任务之前需要将微任务清空掉)
异步处理:
(异步模块同时处理,看这个异步任务是否可以可以被执行(有时间判断时间)
如果说可以被执行 那么会将对应回调函数放入到事件队列去排队,
看当前任务是宏任务(ajax setTimeout 定时器相关 事件回调)还是微任务(promise.then.和.catch))