Javascript

JS高级—0xxxx—事件循环(浏览器和node)

本文主要是介绍JS高级—0xxxx—事件循环(浏览器和node),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一.事件循环:

js线程、浏览器其他线程、浏览器维护的事件队列;

 

二.js单线程

 

三.浏览器的事件循环

浏览器其他线程在执行好之后,把任务放到事件队列里,等mainScript执行完后再把事件队列里的微任务、宏任务依次取出交给js线程处理;

 

 

 

 浏览器的事件循环和node的事件循环不太一样,因为node里对微任务队列和宏任务队列又做了进一步的划分;

 

四.浏览器里的面试题;

 

 这一道很难,主要是return 单纯的4可以直接看作是resolve(4),return一个thenable接口会被加一次微任务,return Promise.resolve(4)会被加到两次微任务;

 

 

 

 

 

 

 

 

 

 

 

 

 

五、node的事件循环

js本来是一种在浏览器用的脚本语言,但是为什么现在nodejs也可以在服务器开发了?

首先我们知道服务器开发的编程语言的关键要求之一就是可以进行硬盘的io操作,nodejs由于在内核中添加了libuv库,所以实现了io操作;

 

六、node事件循环的阶段

 

 

 

七、node宏任务和微任务

 

 微任务之间的执行顺序也不同,

 

这篇关于JS高级—0xxxx—事件循环(浏览器和node)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!