赞
踩
学习 Promise 对于前端开发者来说至关重要,它不仅是异步编程的基础,还是面试和工作中的常见话题。对于一名成熟的 JavaScript 开发人员来说,充分理解 Promise 的工作方式比以往任何时候都更加重要。
前端大神扎卡斯的新作《一天理解JavaScript Promise》终于出版了,如果你对如何使用 Promise 有困惑,那这本小册子你一定不能错过。本文摘自本书作者序,扎卡斯大神讲述了自己为什么要写这样一本书,这本书为大家解决了哪些问题。我们一起来看看他是怎么说的。
我的第一本书《JavaScript高级程序设计》于 2005 年出版,全书超过 500 页。我当时认为,它涵盖了 JavaScript 的所有重要细节。
2009 年出版的第 2 版超过 700 页,2012 年出版的第 3 版则超过 900 页。那时我才意识到,任何一本书都无法涵盖 JavaScript 的所有重要细节。该语言变得非常庞大,可用的应用程序接口也极为丰富。试图更新一部巨著成为不可持续的工作。
在过去的 20 年里,JavaScript 的迅猛发展使它从一门仅适用于浏览器的语言,变成了几乎无处不在的语言。这要归功于 Node.js、Deno、Bun 等运行环境。
你可以仅用 JavaScript 编写整个 Web 应用程序。此外,JavaScript 还可用于云函数、边缘函数、物联网设备等。JavaScript 已经从一门鲜有人知的语言,变成了你在 2024 年的今天从事计算机工作时必须掌握的语言。
随着这种变化,我必须改变自己撰写关于 JavaScript 的图书的方式。我决定不再撰写关于整个 JavaScript 生态系统的书,转而撰写关于 JavaScript 特定主题的小书。
我希望关注所有 JavaScript 开发人员都需要了解的基础主题,无论他们的代码将在何处运行。很快,我就意识到,开发人员如今最需要理解的主题是如何处理 Promise。
JavaScript 一直有能力推迟代码的执行时间,但优雅地实现这一点要归功于 2015 年引入的 Promise。在那之前,JavaScript 应用程序接口要么使用笨拙且易出错的回调函数,要么使用事件处理器。如今,你仍然可以在 IndexedDB 和 Node.js fs 模块等浏览器应用程序接口中看到这一点。
fetch() 等新的应用程序接口使用 Promise。这样一来,你就能够使用 await 操作符让异步调用看起来和同步操作一样。与回调不同,未处理的错误会被抛出。开发人员现在可以利用工具查看异步调用栈,以调试程序。很多人希望不要阻塞 JavaScript 应用程序的主线程,无论是在浏览器端还是在服务器端。Promise 是实现这一点的首要途径。
这就是我写作本书的原因。如今在编写 JavaScript 应用程序时,你可能会更多地使用 await 操作符而不是 if 语句。深入理解 Promise 是编写安全、可扩展、高性能 JavaScript 应用程序的关键。这种需求在未来数年内会持续存在。
尼古拉斯·C. 扎卡斯
2024 年 2 月
写给前端人的小册子
《一天理解JavaScript Promise》
尼古拉斯·C. 扎卡斯 | 著
张越越 | 译
本书的目标是解释 JavaScript 中的 Promise 是如何工作的,同时给出示例,以说明何时使用它。JavaScript 所有新的异步接口都将用 Promise 来构建,因此 Promise 是从整体上理解 JavaScript 的一个核心知识点。作者希望本书能帮助读者在项目中成功使用 Promise。另外还随书赠送 Promise 速查表,助你快速查询。
作者简介
尼古拉斯·C. 扎卡斯(Nicholas C. Zakas)是全球知名的软件工程师、作家和技术布道者,尤其在 JavaScript 领域享有极高的声誉。他不仅是一名资深的前端开发者,还是一系列畅销技术书籍的作者,其中包括《JavaScript高级程序设计》(也被亲切地称为“JavaScript红宝书”)和《一天理解JavaScript Promise》等。
扎卡斯最为人熟知的成就是他的著作,这些书籍对无数前端开发者产生了深远的影响。他的写作风格以清晰、实用和深入细节著称,使得复杂的技术概念变得易于理解和应用。除了写作,扎卡斯还是各种技术会议的常客,经常在世界各地分享他的知识和见解。
全书内容概览
全书共包含 5 章内容,每一章介绍 JavaScript Promise 的一个不同的方面。多章直接介绍 Promise 的应用程序接口,内容循序渐进,以便你能逐步构建自己的知识体系。而且每一章都提供代码示例来帮助你学习新的句法和概念。
第 1 章介绍 Promise 的概念和工作原理,以及构造和使用它的不同方法。
第 2 章讨论将多个 Promise 链接在一起的几种方法,从而使异步操作的组合变得更加容易。
第 3 章解释 JavaScript 的一些内置方法。这些方法用于监控和响应多个并行的 Promise。
第 4 章介绍异步函数和 await 表达式的概念,并解释它们如何使用 Promise 及与 Promise 的相关性。
第 5 章解释如何在没有拒绝处理器的情况下正确追踪被拒绝的 Promise 请求。
原版读者评价
@Josh Goldberg:本书是一本关于 JavaScript 中异步代码的优秀入门书,其中还深入探讨了许多重要的细微差别。它的解释很全面,代码示例清晰简洁。我强烈推荐给所有 JavaScript/TypeScript 程序员,让你从新手变成经验丰富的专家。
@hou.danwu:将 Promise 机制讲解得相当透彻,短小而专注。
@GaiheiluKamei:对 Promise 的基础,链式调用等内容的讲解很全面,详细。
新书细节
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。