事件分为同步事件和异步事件,将同步事件放入执行栈中先执行,将异步任务交给浏览器进行处理,浏览器(WebAPI)将处理后的异步任务放入任务队列中。
由于ES6新特性,对于promise的then方法这一异步任务将由JS本身进行处理。
因此可将异步任务分为两种:
宏任务(浏览器处理) 微任务(JS自己处理)
当执行栈中的同步任务全部执行完成后,再执行微任务队列里的异步任务,随后再执行宏任务队列里的异步任务。当以上任务全部执行完后,又重新访问执行栈依此反复,形成了事件循环。
流程如下:
事件分为同步事件和异步事件,将同步事件放入执行栈中先执行,将异步任务交给浏览器进行处理,浏览器(WebAPI)将处理后的异步任务放入任务队列中。
由于ES6新特性,对于promise的then方法这一异步任务将由JS本身进行处理。
因此可将异步任务分为两种:
宏任务(浏览器处理) 微任务(JS自己处理)
当执行栈中的同步任务全部执行完成后,再执行微任务队列里的异步任务,随后再执行宏任务队列里的异步任务。当以上任务全部执行完后,又重新访问执行栈依此反复,形成了事件循环。
流程如下: