91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

es6中promise是什么及有哪些作用

發布時間:2022-03-30 16:34:48 來源:億速云 閱讀:239 作者:iii 欄目:web開發

這篇文章主要講解了“es6中promise是什么及有哪些作用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“es6中promise是什么及有哪些作用”吧!

在es6中,promise用于創建一個新的Promise對象,生成Promise實例;promise是一個構造函數,是異步編程的解決方案;簡單說就是一個容器,里面保存著某個未來才會結束的事件的結果。

本教程操作環境:windows10系統、ECMAScript 6.0版、Dell G3電腦。

es6中promise有什么用

Promise是ES6中提供的一個異步編程的解決方案,Promise本身是一個構造函數

typeof Promise  //  function

一般情況下 我們在開發中會使用 new Promise() 調用構造函數,創建一個新的Promise對象, Promise對象有兩個特點

1、對象的狀態不受外界影響。

Promise對象是一個異步操作,有三種狀態:pending(進行中)、fulfilled(已成功)和rejected(已失敗)。

只有異步操作的結果,可以決定Promise是哪一種狀態,任何其他操作都無法改變這個狀態

2、一旦Promise狀態改變,就不會再有變化,任何時候都可以得到這個結果。

Promise對象的狀態改變,只有兩種可能:從pending變為fulfilled 或者 從pending變為rejected。只要這兩種情況發生,狀態就不會再變了,會一直保持這個結果,這時就稱為 resolved(已定型)。如果改變已經發生了,你再對Promise對象添加回調函數,也會立即得到這個結果。這與事件(Event)不同,事件的特點是,如果你錯過了它,再去監聽,是得不到結果的

使用Promise的好處,就是在處理異步程序時,將異步操作隊列化,按照期望的順序執行,返回符合預期的結果,這樣即使是多重異步操作,也可以方便的使用Promise進行鏈式調用

3、Promise也有一些缺點。

首先,無法取消Promise,一旦新建它就會立即執行,無法中途取消。其次,如果不設置回調函數,Promise內部拋出的錯誤,不會反應到外部。第三,當處于pending狀態時,無法得知目前進展到哪一個階段(剛剛開始還是即將完成)

所謂Promise,簡單說就是一個容器,里面保存著某個未來才會結束的事件(通常是一個異步操作)的結果。

ES6 規定,Promise對象是一個構造函數,用來生成Promise實例。

下面代碼創造了一個Promise實例。

const promise = new Promise(function(resolve, reject) {
  // ... some code
  if (/* 異步操作成功 */){
    resolve(value);
  } else {
    reject(error);
  }
});

Promise構造函數接受一個函數作為參數,該函數的兩個參數分別是resolve和reject。它們是兩個函數,由 JavaScript 引擎提供,不用自己部署。

resolve函數的作用是,將Promise對象的狀態從“未完成”變為“成功”(即從 pending 變為 resolved),在異步操作成功時調用,并將異步操作的結果,作為參數傳遞出去;reject函數的作用是,將Promise對象的狀態從“未完成”變為“失敗”(即從 pending 變為 rejected),在異步操作失敗時調用,并將異步操作報出的錯誤,作為參數傳遞出去。

Promise實例生成以后,可以用then方法分別指定resolved狀態和rejected狀態的回調函數。

promise.then(function(value) {
  // success
}, function(error) {
  // failure
});

then方法可以接受兩個回調函數作為參數。第一個回調函數是Promise對象的狀態變為resolved時調用,第二個回調函數是Promise對象的狀態變為rejected時調用。其中,第二個函數是可選的,不一定要提供。這兩個函數都接受Promise對象傳出的值作為參數。

感謝各位的閱讀,以上就是“es6中promise是什么及有哪些作用”的內容了,經過本文的學習后,相信大家對es6中promise是什么及有哪些作用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

藁城市| 中卫市| 福州市| 卓资县| 宁波市| 资溪县| 长治县| 敖汉旗| 天长市| 临汾市| 仁怀市| 永宁县| 罗定市| 涿州市| 津市市| 任丘市| 崇仁县| 中江县| 工布江达县| 盘山县| 沙洋县| 酒泉市| 泽州县| 东兴市| 申扎县| 江华| 天气| 盐山县| 梨树县| 泰兴市| 禹州市| 安阳市| 安庆市| 吉安县| 昆山市| 霍林郭勒市| 邯郸市| 增城市| 如东县| 格尔木市| 泌阳县|