首頁 >web前端 >js教程 >ES6 Promise 簡單介紹

ES6 Promise 簡單介紹

一个新手
一个新手原創
2017-09-21 09:24:241430瀏覽

ES6,為了解決回調地獄的問題,推出了Promise,字面意思上來看是一個承諾,好多介紹promise的文章都是那種讓人一看就眼暈的,我也是迷茫了好久,今天從我自身來說一說,promise到底是個什麼東西
   Promise是個物件(好多人要說,你這不是廢話嗎,js萬物皆對像啊)你說得對。 。 。
promise是一個對象,在對象內部進行呼叫;最常見的寫法:

function GetPromise(someting){
    let p = new Promise(resolve,reject)            //dosometing
            resolve(str);
            reject(str)
        }    return p
    }

這是最常見的創建使用promise的方式,其調用方法為

GetPromise(somgting).then(function(){}).catch(function(){})

偷了個懶,很多人這個時候要罵娘了,這個then是什麼,catch又是什麼,還有resolve是哪裡來的,reject又是哪來的,我剛接觸的時候,也在想這個問題,上網一搜就沒有好好告訴我的。現在我用最簡單的方法來解釋一下,then是成功回調,catch是異常回調,這樣大家能不能明白。大家寫程式碼一定會有用到判斷的時候例如

    if(a=1){
        alert('我好帅啊‘)
    }else{
        alert('我怎么这么帅’)
    }

透過判斷a來決定觸發哪一條語句,promise只不過是這種高階寫法,其內部提供的resolve,綁定為是then,reject綁定catch,我們在實例化promise物件時,在其內部進行判斷,在何時觸發哪一回調,在實際使用時,透過then,catch綁定具體的回調。我們在使用promise來進行非同步操作時,將所有的成功回調都抽象化成resolve,失敗回調抽象化成reject,在實際呼叫透過then,catch'來綁定具體的回呼函數,更優雅,也更抽象,當然Promise有更多方法,但我只是想總結一下入門,再複雜的就不是我講解的了。

#

以上是ES6 Promise 簡單介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn