返回介绍

第一部分 类型和语法

第二部分 异步和性能

第2章 回调

发布于 2023-05-24 16:38:21 字数 771 浏览 0 评论 0 收藏 0

在第 1 章里,我们探讨了与 JavaScript 异步编程相关的概念和术语。我们的关注点是理解处理所有事件 (异步函数调用)的单线程(一次一个)事件循环队列。我们还介绍了多个并发模式以不同的方式解释同时运行的事件链或“进程”(任务、函数调用,等等)之间的关系(如果有的话!)。

第 1 章的所有例子都是把函数当作独立不可分割的运作单元来使用的。在函数内部,语句以可预测的顺序执行(在编译器以上的层级!),但是在函数顺序这一层级,事件(也就是异步函数调用)的运行顺序可以有多种可能。

在所有这些示例中,函数都是作为回调 (callback)使用的,因为它是事件循环“回头调用”到程序中的目标,队列处理到这个项目的时候会运行它。

你肯定已经注意到了,到目前为止,回调是编写和处理 JavaScript 程序异步逻辑的最常用方式。确实,回调是这门语言中最基础的异步模式。

无数 JavaScript 程序,甚至包括一些最为高深和复杂的,所依赖的异步基础也仅限于回调(当然,它们使用了第 1 章介绍的各种并发交互模式)。回调函数是 JavaScript 的异步主力军,并且它们不辱使命地完成了自己的任务。

但是……回调函数也不是没有缺点。很多开发者因为更好的异步模式 promise(promise 也是“承诺、希望”的意思,此处一语双关)而激动不已。但是,只有理解了某种抽象的目标和原理,才能有效地应用这种抽象机制。

本章将深入探讨这两点,以便弄懂为什么更高级的异步模式(后续章节和附录 B 中将会讨论)是必需和备受期待的。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文