事件循环机制(eventloop)

发布时间 2023-12-13 16:22:33作者: scour

1 js单线程:因为js主要是用来跟用户互动,作为一门浏览器脚本语言,导致它只能是一门单线程语言,通俗来讲就是同一时间只能做同一件事情,比如操作dom节点,添加一个节点,和删除一个节点,只能在添加之后才能进行删除

2 缺点:在执行一些耗时的操作的时候会导致代码阻塞,比如网络请求,定时器等,因此引入同步和异步的概念

3 代码运行环境:

 同步代码运行在执行栈中,由js引擎负责执行,

 异步代码运行在宿主环境中,通常是浏览器端和node端,在未来的某一个时间点执行里面的异步操作,将其放入到任务队列当中

 任务队列执行相应的异步操作

 执行栈执行完毕之后,回去任务队列看是否有异步任务,有就送到执行栈执行,反复循环查看执行,这个过程称为事件循环