成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

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

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

片段1:

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

Promise同步執行,promise.then異步執行。

片段2:

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

promise 有三種不同的狀態:

  • pending
  • fulfilled
  • rejected

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

片段3

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

即使reject后有一個resolve調用,也只能執行一次resolve或reject,剩下的不會執行。

片段 4:

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

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

片段 5:

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

promise 的 .then或.catch可以被多次調用,但是此處Promise構造函數僅執行一次。換句話說,一旦promise的內部狀態發生變化并獲得了一個值,則隨后對.then或.catch的每次調用都將直接獲取該值。

片段 6

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

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

片段 7:

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

在.then或.catch中返回錯誤對象不會引發錯誤,因此后續的.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的參數應為函數,而傳遞非函數將導致值的結果被忽略,例如.then(2)或.then(Promise.resolve(3)。

片段 9:

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

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

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

片段 10:

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

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

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2019-11-19 12:40:36

AI人工智能開源工具

2021-06-10 09:34:24

前端開發工具開發

2020-12-08 08:07:41

JavaScript中等分數組

2019-11-18 11:07:13

人工智能技術Apache

2021-08-13 10:33:55

IT經理首席信息官CIO

2020-03-23 09:31:51

JavaScript函數技術

2017-09-06 15:53:55

機器學習人工智能框架

2022-10-08 08:38:32

物聯網

2010-03-12 16:15:06

Python調試

2018-10-25 14:14:52

云計算機器學習數據分析

2021-11-26 05:14:44

開源數據庫安全漏洞

2011-12-09 09:31:58

桌面虛擬化

2021-08-06 10:00:29

網站劫持網絡攻擊網站安全

2020-02-05 13:03:55

數據中心混合云技術

2013-07-17 09:19:23

2017-04-14 10:40:43

SDS系統選擇

2023-06-09 19:03:35

開源組織

2019-08-12 07:39:25

數據中心IT開銷

2022-09-21 14:12:33

大數據醫療保健

2014-04-15 10:07:22

大數據
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品96久久久久久 | 一区二区电影 | 国产精品久久久久久吹潮日韩动画 | 国产在线视频一区 | 小早川怜子xxxxaⅴ在线 | 欧美在线一级 | 91文字幕巨乱亚洲香蕉 | 久久av.com | 成人激情视频 | 日韩国产在线 | 天堂资源最新在线 | 一级片网站视频 | 欧美中文字幕一区 | 成人久久久久久久久 | 午夜欧美| 日本超碰 | 91大神在线资源观看无广告 | 欧美一区二区三区视频 | 久久精品国产一区二区三区不卡 | 91日韩 | 国产农村妇女精品一二区 | 国产九九九九 | 国产综合精品一区二区三区 | 伊人精品久久久久77777 | av中文字幕在线播放 | 精品国产乱码久久久久久中文 | 6080yy精品一区二区三区 | www.日日干 | 国产成人精品久久二区二区91 | 一区二区三区视频 | 日韩一区中文字幕 | 午夜小视频在线播放 | 日本不卡一区 | 天堂一区二区三区 | 午夜视频一区二区三区 | 伊人伊人 | 污书屋| 国产精品成人一区二区三区 | 久久久久久久综合色一本 | 91精品午夜窝窝看片 | 色永久 |