大前端----Promise的簡單理解和async

首先,你得理解異步機制

Promise

       是一種異步編程機制

new Promise(function(resolve,reject){});//其中resolve和reject是javascript引擎封裝好的方法

Promise有三種狀態pending(進行中)、fulfilled(已成功)和rejected(已失敗)

Promise對象的狀態改變,只有兩種可能:從 pending 變爲 fulfilled 和從 pending 變爲 rejected 。只要這兩種情況發生,狀態就凝固了,不會再變了,會一直保持這個結果,這時就稱爲 resolved(已定型)。

運行下面的例子

let pm=new Promise((resolve,reject)=>{
    console.log('A');
    resolve('B');//將Promise的狀態從pending(進行中)變爲resolved(已定型),異步
    console.log('C');
})

//then是回調函數
pm.then(va=>{
    //Promise成功後
    console.log(va +'a');
},vb=>{
    //Promise失敗後
    console.log(vb+'b');
});

//運行結果
A
C
Ba

在Promise裏調用了resolve()函數,說明Promise的狀態已到了成功狀態,就可以異步執行pm.then(resoved => {},failed => {})裏的resoved裏的回調函數

Promise的 resolved(已定型) 還有多種表示形式,可以查看官方文檔的promise章節

async

    可以理解爲多個Promise執行的組合(併發),並返回一個Promise

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章