中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

promise是什么及怎么使用

發布時間:2022-04-18 17:00:54 來源:億速云 閱讀:186 作者:iii 欄目:開發技術

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

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

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

Promise有三個狀態:(推薦學習:Javascript視頻教程)

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一旦新建就會「立即執行」,無法取消。這也是它的缺點之一。

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

向AI問一下細節

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

AI

雅安市| 柘荣县| 互助| 太湖县| 桐城市| 清水县| 泸州市| 郓城县| 台南县| 利川市| 正宁县| 建德市| 湄潭县| 特克斯县| 南澳县| 梁河县| 鄂温| 庆元县| 青田县| 文登市| 铜鼓县| 海阳市| 瑞昌市| 闸北区| 余江县| 定州市| 喀喇| 若羌县| 岑巩县| 井研县| 博罗县| 海伦市| 吉隆县| 闽侯县| 白银市| 陇南市| 根河市| 新邵县| 奎屯市| 张家口市| 宝鸡市|