首頁 > web前端 > js教程 > 主體

介紹ES6之Promise對象

坏嘻嘻
發布: 2018-09-14 14:11:18
原創
1407 人瀏覽過

今天討論的新功能讓我非常興奮,因為這個特性是 ES6 中最神奇的特性。         

簡介

Promise物件是非同步程式設計的解決方案。所謂Promise,簡單來說就是一種容器,裡麵包含未來可能結束的一個事件的結果。 

Promise包含三種狀態,pending,fulfilled,rejected。
表現為從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官方給的方法可以取得到操作部位的返回結果

promise的使用

    promise.then((value) => {        console.log("success" + value);
    }, (error) => {        console.log("error" +error);
    })
登入後複製

then方法接受兩個回呼函數作為參數,第一個方法在Promise物件狀態從pending變成fulfilled時調用,第二個方法在狀態從pending變成rejected時候呼叫。
另外 上面的使用方法可以寫成類似try/catch的形式,將rejected時的處理剝離出來放到catch裡面處理。
promise的使用2

    promise.then((value) => {        console.log("success" + value);
    }).catch((error) => {        console.log("error" +error);
    })
登入後複製

 相關推薦:

ES6的新功能概覽_javascript技巧

#詳解JavaScript ES6中的Generator_基礎學

#

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

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!