promise什么意思?中文承諾的含義介紹及用法介紹

js是單線程的,Promise解決就是異步編程一種思想,比傳統的回調函數和事件強大好多。Promise相當于異步操作結果的占位符,他不會去訂閱一個事件,也不會傳遞一個回調函數給目標函數,而是讓函數返回一個Promise(相當于訂單號)。

Promise:英文承諾意思,Promise對象中保存某個未來才回結束的事件(通常是一個異步操作)的結果。

Promise有三個狀態:

pendding,rejected,resolved

Promise對象狀態的切換只有兩種可能:

pendding->rejected,pendding->resolved

基礎用法:

new Promise((resolved,rejected)=>{})

Promise對象resolved,rejected函數,在異步事件狀態pendding->resolved回調成功時,會調用resolved函數;當異步操作失敗時,回調用rejected函數。

Promise的then(resolved,rejected)函數參數有兩個,一個resolved函數,一個rejected函數。

Promise的catch():捕捉promise錯誤函數,和then函數參數中rejected作用一樣,處理錯誤,由于Promise拋出錯誤具有冒泡性質,能夠不斷傳遞,會傳到catch中,所以建議所有錯誤處理放在catch中,then中只處理成功的。

Promise一個大特色就是可以鏈式調用,在then,catch中可以返回Promise對象。

Promise.all([promise1,promise2]):參數是promise對象數組,等到所有promise對象狀態resolved,該對象的狀態會resolved,會立即調用then,當有一個promise對象為rejected,該對象的狀態就會邊城rejectd,執行catch。

Promise.race([promise1,promise2]):競速函數,當有一個promise對象狀態變化了,該對象就會采用和相同的狀態,并執行相應函數。

promise的生命周期

每個 Promise都會經歷一個短暫的生命周期,初始為掛起態( pending state),這表示異步操作尚未結束。一個掛起的 Promise 也被認為是未決的( unsettled )。一旦異步操作結束, Promise就會被認為是已決的( settled ),并進入兩種可能狀態之一:

1. 已完成(fulfilled ): Promise 的異步操作已成功結束;

2. 已拒絕(rejected ): Promise 的異步操作未成功結束,可能是一個錯誤,或由其他原因導致。

一旦狀態改變,就「凝固」了,會一直保持這個狀態,不會再發生變化。當狀態發生變化,promise.then綁定的函數就會被調用。注意:Promise一旦新建就會「立即執行」,無法取消。這也是它的缺點之一。

聲明:本文由網站用戶竹子發表,超夢電商平臺僅提供信息存儲服務,版權歸原作者所有。若發現本站文章存在版權問題,如發現文章、圖片等侵權行為,請聯系我們刪除。

(0)
上一篇 2022年12月15日 23:04:12
下一篇 2022年12月15日 23:07:12

相關推薦

發表回復

您的電子郵箱地址不會被公開。 必填項已用*標注

主站蜘蛛池模板: 大佬的365天第三季完整视频在线观看| 桃子视频在线观看高清免费视频| 成全动漫视频在线观看免费高清| 亚洲国产午夜精品理论片| 精品一区二区三区在线播放| 国产91po在线观看免费观看| 高清一级做a爱过程免费视频| 好吊妞国产欧美日韩免费观看| 亚洲国产精品无码久久久秋霞2| 狠狠色狠狠色综合网| 北美伦理电线在2019| 69av免费视频| 成人免费观看网欧美片| 亚洲国产精品一区二区三区久久| 男人扒开女人的腿做爽爽视频| 可以看污视频的网站| 伊人中文字幕在线观看| 成人在线观看免费| 久久久久亚洲av成人网人人软件| 明星ai人脸替换造梦在线播放 | 一个人免费视频观看在线www| 无码天堂va亚洲va在线va| 亚洲国产香蕉碰碰人人| 没带罩子的英语老师| 人妻少妇乱子伦精品| 粗大的内捧猛烈进出小视频| 十三以下岁女子毛片免费播放| 美女的大胸又黄又www又爽| 国产xxxx色视频在线观看| 亚洲图片欧美另类| 国产精品国产三级国产普通话 | 明星造梦一区二区| 乱了嗯祖宗啊用力| 最近中文字幕高清2019中文字幕| 亚洲乱色伦图片区小说| 欧美人与zoxxxx另类| 亚洲六月丁香六月婷婷色伊人| 欧美性色黄大片www喷水| 免费吃奶摸下激烈免费视频| 韩国三级hd中文字幕| 国产又色又爽又刺激视频|