一天理解 JavaScript Promise

[美] 尼古拉斯·C. 扎卡斯(Nicholas C. Zakas)

  • 出版商: 人民郵電
  • 出版日期: 2024-04-01
  • 定價: $299
  • 售價: 8.5$254
  • 語言: 簡體中文
  • 頁數: 152
  • ISBN: 711563999X
  • ISBN-13: 9787115639998
  • 相關分類: JavaScript
  • 下單後立即進貨 (約4週~6週)

  • 一天理解 JavaScript Promise-preview-1
  • 一天理解 JavaScript Promise-preview-2
一天理解 JavaScript Promise-preview-1

買這商品的人也買了...

商品描述

自從2015年被引入JavaScript以來,Promise已經成為這門語言的重要組成部分。所有新的異步應用程序接口都是基於Promise構建的。正因為如此,深入理解Promise的原理是JavaScript開發人員的進階必修課,也是所有JavaScript編程工作的重中之重。本書共有5章,篇幅短小精悍,代碼清晰易懂。每一章從不同的方面展示了使用Promise的關鍵點和難點。隨書附贈的Promise速查表有助於隨用隨查。讀完本書,你將能在自己的項目中游刃有餘地進行異步編程。現在就跟隨專業JavaScript程序員尼古拉斯·C.扎卡斯,開啟JavaScript Promise之旅吧!

作者簡介

[美]尼古拉斯·C. 扎卡斯(Nicholas C. Zakas)

 

前端技术“达人”,著有多部口碑佳作,包括影响一代人的前端巨著《JavaScript高级程序设计》(又被称为“JavaScript红宝书”),以及高分作品《高性能JavaScript》《深入理解ES6》《JavaScript面向对象精要》等。此外,他还开发了流行JavaScript代码分析工具ESLint。扎卡斯曾任雅虎公司前端技术主管,并受邀在领英、谷歌、Netflix、PayPal等公司做演讲。

目錄大綱

中文版序

前言

第 1章 Promise基礎   1

1.1 Promise的生命周期   2

1.1.1  用then()分配處理器   4

1.1.2 用catch()分配拒絕處理器   7

1.1.3 用finally()分配解決處理器   8

1.1.4 為已確定的Promise分配處理器   12

1.1.5 處理器和微任務   13

1.2 創建未解決的Promise   16

1.3 創建已解決的Promise   22

1.3.1 使用Promise.resolve()   22

1.3.2 使用Promise.reject()   24

1.3.3 非Promise 的thenable 對象  24

1.4 小結   28

第 2 章 鏈式Promise   31

2.1 捕獲錯誤   33

2.2 在鏈式Promise 中使用finally()   37

2.3 從鏈式Promise 中返回值   42

2.4 從鏈式Promise 中返回Promise   45

2.5 小結   54

第3 章 多個Promise 協同工作   57

3.1 Promise.all() 方法   57

3.2 Promise.allSettled() 方法  71

3.3 Promise.any() 方法   82

3.4 Promise.race() 方法   89

3.5 小結   95

第4 章 異步函數和await 表達式   97

4.1 定義異步函數   98

4.2 異步函數的不同之處   99

4.2.1 返回值總是一個Promise   100

4.2.2 拋出的錯誤是處於拒絕狀態的Promise   103

4.2.3 可以使用await 表達式   105

4.2.4 可以使用for-await-of 循環   114

4.3 頂層await 表達式   118

4.4 小結   120

第5 章 追蹤未處理的拒絕情況   123

5.1 檢測未處理的拒絕情況   124

5.2  在Web 瀏覽器中追蹤未處理的拒絕情況   126

5.2.1 在Web 瀏覽器中報告未處理的拒絕情況   131

5.2.2 在Web 瀏覽器中避免出現控制台警告   133

5.2.3 進行處理   134

5.3 在Node.js 中追蹤未處理的拒絕情況   136

5.4 小結   142

後記   145

常見問題解答   147