偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

這 10 個片段,有助于你理解 ES 中的 Promise

開發(fā) 前端
在開發(fā)中,了解 JavaScript 和 Promise 基礎(chǔ),有助于提高我們的編碼技能,今天,我們一起來看看下面的 10 片段,相信看完這 10 個片段有助于我們對 Promise 的理解。

在開發(fā)中,了解 JavaScript 和 Promise 基礎(chǔ),有助于提高我們的編碼技能,今天,我們一起來看看下面的 10 片段,相信看完這 10 個片段有助于我們對 Promise 的理解。

片段1:

這 10 個片段,有助于你理解 ES 中的 Promise

Promise同步執(zhí)行,promise.then異步執(zhí)行。

片段2:

這 10 個片段,有助于你理解 ES 中的 Promise

promise 有三種不同的狀態(tài):

  • pending
  • fulfilled
  • rejected

一旦狀態(tài)更新,pending->fulfilled 或pending->rejected,就可以再次更改它。prom1與prom2不同,并且兩者都返回新的Promise狀態(tài)。

片段3

這 10 個片段,有助于你理解 ES 中的 Promise

即使reject后有一個resolve調(diào)用,也只能執(zhí)行一次resolve或reject,剩下的不會執(zhí)行。

片段 4:

這 10 個片段,有助于你理解 ES 中的 Promise

Promises 可以鏈接調(diào)用,當提到鏈接調(diào)用 時,我們通常會考慮要返回this,但Promises不用。每次 promise 調(diào)用.then或.catch時,默認都會返回一個新的 promise,從而實現(xiàn)鏈接調(diào)用。

片段 5:

這 10 個片段,有助于你理解 ES 中的 Promise

promise 的 .then或.catch可以被多次調(diào)用,但是此處Promise構(gòu)造函數(shù)僅執(zhí)行一次。換句話說,一旦promise的內(nèi)部狀態(tài)發(fā)生變化并獲得了一個值,則隨后對.then或.catch的每次調(diào)用都將直接獲取該值。

片段 6

這 10 個片段,有助于你理解 ES 中的 Promise

.then或.catch返回的值不能是promise本身,否則將導致無限循環(huán)。

片段 7:

這 10 個片段,有助于你理解 ES 中的 Promise

在.then或.catch中返回錯誤對象不會引發(fā)錯誤,因此后續(xù)的.catch不會捕獲該錯誤對象,需要更改為以下對象之一:

  1. return Promise.reject(new Error('error')) throw new Error('error') 

因為返回任何非promise 值都將包裝到一個Promise對象中,也就是說,返回new Error('error')等同于返回Promise.resolve(new Error('error'))。

片段 8:

  1. Promise.resolve(1) 
  2.   .then(2) 
  3.   .then(Promise.resolve(3)) 
  4.   .then(console.log) 
  5.  
  6.   // 1 

.then或.catch的參數(shù)應為函數(shù),而傳遞非函數(shù)將導致值的結(jié)果被忽略,例如.then(2)或.then(Promise.resolve(3)。

片段 9:

這 10 個片段,有助于你理解 ES 中的 Promise

.then可以接受兩個參數(shù),第一個是處理成功的函數(shù),第二個是處理錯誤的函數(shù)。.catch是編寫.then的第二個參數(shù)的便捷方法,但是在使用中要注意一點:.then第二個錯誤處理函數(shù)無法捕獲第一個成功函數(shù)和后續(xù)函數(shù)拋出的錯誤。.catch捕獲先前的錯誤。當然,如果要重寫,下面的代碼可以起作用:

這 10 個片段,有助于你理解 ES 中的 Promise

片段 10:

這 10 個片段,有助于你理解 ES 中的 Promise

process.nextTick和promise.then都屬于微任務,而setImmediate屬于宏任務,它在事件循環(huán)的檢查階段執(zhí)行。在事件循環(huán)的每個階段(宏任務)之間執(zhí)行微任務,并且事件循環(huán)的開始執(zhí)行一次。

責任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2021-06-10 09:34:24

前端開發(fā)工具開發(fā)

2019-11-19 12:40:36

AI人工智能開源工具

2020-12-08 08:07:41

JavaScript中等分數(shù)組

2021-08-13 10:33:55

IT經(jīng)理首席信息官CIO

2019-11-18 11:07:13

人工智能技術(shù)Apache

2020-03-23 09:31:51

JavaScript函數(shù)技術(shù)

2017-09-06 15:53:55

機器學習人工智能框架

2010-03-12 16:15:06

Python調(diào)試

2022-10-08 08:38:32

物聯(lián)網(wǎng)

2018-10-25 14:14:52

云計算機器學習數(shù)據(jù)分析

2021-11-26 05:14:44

開源數(shù)據(jù)庫安全漏洞

2011-12-09 09:31:58

桌面虛擬化

2025-10-14 08:00:00

2021-08-06 10:00:29

網(wǎng)站劫持網(wǎng)絡攻擊網(wǎng)站安全

2017-04-14 10:40:43

SDS系統(tǒng)選擇

2023-06-09 19:03:35

開源組織

2013-07-17 09:19:23

2020-02-05 13:03:55

數(shù)據(jù)中心混合云技術(shù)

2019-08-12 07:39:25

數(shù)據(jù)中心IT開銷

2020-04-13 10:33:05

網(wǎng)絡安全安全數(shù)據(jù)
點贊
收藏

51CTO技術(shù)棧公眾號