该事件循环的背后是JavaScript的异步编程的秘密。JS在单个线程上执行所有操作,但是使用了一些智能数据结构,它给我们带来了多线程的错觉。让我们来看看后端发生了什么。
该调用堆栈是负责维持行所有的操作轨迹被执行。每当一个函数完成时,它就会从堆栈中弹出。
该事件队列负责发送新的功能赛道进行处理。它遵循队列数据结构来维护正确的顺序,所有操作都应该以正确的顺序发送执行。
每当调用异步函数时,它都会被发送到浏览器 API。这些是内置于浏览器中的 API。根据从调用堆栈接收到的命令,API 开始自己的单线程操作。
这方面的一个例子是setTimeout方法。当setTimeout堆栈中的操作被处理时,它会被发送到相应的 API,该 API 会等待指定的时间将该操作发送回进行处理。
它将操作发送到哪里?该事件队列。因此,我们有一个循环系统用于在 JavaScript 中运行异步操作。该语言本身是单线程的,但浏览器 API 充当单独的线程。
事件循环促进了这个过程;它不断检查调用堆栈是否为空。如果为空,则从事件队列中添加新函数。如果不是,则处理当前函数调用。
以上就是极悦小编介绍的"JavaScript事件循环详解",希望对大家有帮助,想了解更多可查看JavaScript教程。极悦在线学习教程,针对没有任何Java基础的读者学习,让你从入门到精通,主要介绍了一些Java基础的核心知识,让同学们更好更方便的学习和了解Java编程,感兴趣的同学可以关注一下。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习