Promise對象是異步編程的一種解決方案。所謂Promise,簡單來說就是一種容器,里面包含著未來可能結(jié)束的一個事件的結(jié)果。
Promise包含三種狀態(tài),pending,fulfilled,rejected。
表現(xiàn)為從pending到fulfilled,或者從pending到rejected。
下面是一個Promise實例的生成
// es5 寫法 const promise = new Promise(function(resolve, reject) { if (/*這里填寫操作(一般是異步操作)*/) { resolve(value); } else { reject(error) } })
// es6 寫法,以后默認使用es6語法 const promiseEs = new Promise((resolve, reject) => { if (/*操作*/) { resolve(value); } else { reject(error); } })
操作部位一般是一個異步方法,resolve和reject是es6官方給的方法可以獲取到操作部位的返回結(jié)果
promise的使用
promise.then((value) => { console.log("success" + value); }, (error) => { console.log("error" +error); })
then方法接受兩個回調(diào)函數(shù)作為參數(shù),第一個方法在Promise對象狀態(tài)從pending變?yōu)閒ulfilled時調(diào)用,第二個方法在狀態(tài)從pending變?yōu)閞ejected時候調(diào)用。
另外 上面的使用方法可以寫成類似于try/catch的形式,將rejected時的處理剝離出來放到catch里面處理。 promise的使用2
promise.then((value) => { console.log("success" + value); }).catch((error) => { console.log("error" +error); })
相關推薦:
ES6的新特性概覽_javascript技巧
詳解JavaScript ES6中的Generator_基礎知識
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com