日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

promise的状态值_什么是Promise,Promise的三种状态

發布時間:2024/7/23 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 promise的状态值_什么是Promise,Promise的三种状态 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是Promise對象:

Js中進行異步編程的新的解決方案,用于表示一個異步操作的最終完成 (或失敗), 及其結果值.。

語法上:promise是一個構造函數

簡單來說,promise對象用來封裝一個異步操作并可以獲取其結果

語法:

new Promise(function (resolve, reject) {

...

} /* executor */)復制代碼

executor:executor是帶有 resolve 和 reject 兩個參數的函數 。Promise構造函數執行時立即調用executor 函數, resolve 和 reject 兩個函數作為參數傳遞給executor(executor 函數在Promise構造函數返回所建promise實例對象前被調用)。resolve 和 reject 函數被調用時,分別將promise的狀態改為

fulfilled(完成)或rejected(失敗)。executor 內部通常會執行一些異步操作,一旦異步操作執行完畢(可能成功/失敗),要么調用resolve函數來將promise狀態改成

fulfilled,要么調用reject 函數將promise的狀態改為rejected。如果在executor函數中拋出一個錯誤,那么該promise 狀態為rejected。executor函數的返回值被忽略。

promise 有三種狀態

Pending(進行中,初始狀態,既不是成功,也不是失敗狀態。)、Resolved(已完成,又稱 Fulfilled)、Rejected(已失敗)這三種狀態的變化途徑只有2種:

異步操作從 未完成 pending => 已完成 resolved

異步操作從 未完成 pending => 失敗 rejected

狀態一旦改變,就無法再次改變狀態,這也是它名字 promise-承諾 的由來,一個promise對象只能改變一次

pending 狀態的 Promise 對象可能會變為fulfilled 狀態并傳遞一個值給相應的狀態處理方法,也可能變為失敗狀態(rejected)并傳遞失敗信息。當其中任一種情況出現時,Promise 對象的 then 方法綁定的處理方法(handlers )就會被調用(then方法包含兩個參數:onfulfilled 和 onrejected,它們都是 Function 類型。當Promise狀態為

fulfilled時,調用 then 的 onfulfilled 方法,當Promise狀態為

rejected時,調用 then 的 onrejected 方法, 所以在異步操作的完成和綁定處理方法之間不存在競爭)。

因為 Promise.prototype.then 和 Promise.prototype.catch 方法返回promise 對象, 所以它們可以被鏈式調用。

?

總結

以上是生活随笔為你收集整理的promise的状态值_什么是Promise,Promise的三种状态的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。