ES6學習系列課第二課 02課 promise

這個是es6中新增的一個使用比較多的對象,解決了之前JavaScript中的回調地獄的問題, 以下是我對promise理解,理解清楚了纔可以更好的使用
1,let promise=new Promise (function(resolve,reject){
if 異步函數執行成功
resolve(res)
else 異步函數執行失敗
reject(res)
});
從這裏可以看出Promise是一個構造函數,new一個promise出來,就是創建一個promise實例,裏面有一個執行器函數參數,執行器裏面有兩個參數,等到這個異步處理成功或者失敗之後就可以通過這個處理狀態,將參數傳遞給下一步了,即可以調用then方法
2,理解這個then方法,可以當做是在promise這個類下面的原型prototype上存在then方法屬性,只要實例了一個promise實例出來,就都可以調用這個實例下面的then方法
3,將promise理解成一個異步對象,它包含兩種狀態,執行成功或者失敗,無論成功或者失敗都可以利用內部函數(resolve,reject)將參數傳遞出來,但是return出來的卻不是一個確定的值,只是兩個狀態,根據不同的狀態再來決定下一步是怎麼做。
這裏來理解這個promise對象就會覺得promise沒有看起來那麼抽象,它也變得比較簡單和易用。
下面就我在微信小程序中的調用實例來說明:
this.getuserinfo().then (
wx.request({
拿到用戶信息後就查詢一遍用戶附近的4s店,查點操作
})
)
getuserinfo:function(){
return new promise(function(){
wx.request({
獲取用戶信息操作,異步Ajax操作
If 獲取用戶信息成功
resolve(res)
else
reject(res)
})
)

發佈了30 篇原創文章 · 獲贊 7 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章