在开发过程中,您经常会遇到术语“回调函数”。这些函数异步运行,这意味着它们在程序的标准同步流程之外执行。但是具体是什么触发了这种异步行为呢?
在 javascript 中,回调函数的语法并不表示异步。同步和异步回调都有相似的结构。
确定函数是同步还是异步调用回调的唯一确定方法是查阅文档。如果没有文档,您也可以运行一个简单的测试来确定其行为。
Javascript 从根本上缺乏内置的异步性。为了实现这一目标,开发人员有两种选择:
< ;h3>事件循环的作用
事件循环是 javascript 架构的重要组成部分。它负责启动异步执行并处理网络 I/O 等事件。通过使用像 select() 这样的 I/O 原语,事件循环可以有效地等待多个 I/O 操作,而无需创建额外的线程。
当 I/O 操作完成时,select() 通知解释器。然后解释器识别与相关 I/O 通道关联的回调并执行它。此机制还支持 setTimeout 和 setInterval 的功能。
现代浏览器和 Node.js 已对该事件进行了扩展循环模型。它们合并了线程来处理基于文件的 I/O。完成后,这些线程与主事件循环通信以触发适当的回调执行。
异步执行是事件循环和基于线程所固有的I/O 管理。了解这些底层机制可以增强对 Javascript 异步编程和相关技术的理解。
以上是尽管缺乏内置的异步性,Javascript 如何实现异步行为?的详细内容。更多信息请关注PHP中文网其他相关文章!