首頁  >  文章  >  web前端  >  ES6 Promise 擴充always方法實例詳解

ES6 Promise 擴充always方法實例詳解

小云云
小云云原創
2018-01-31 13:28:592148瀏覽

本文主要介紹ES6 Promise 擴充always方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟著小編過來看看吧,希望能幫助大家。

ES6添加了Promise對象,成功時在then中處理,失敗則在catch中處理,但有時候,我們需要在無論成功或失敗時都要做一些事,比如隱藏loading , 記錄日誌等等,下面我們以瀏覽器端ajax請求為例,我們使用axios(它是基於Promise的):


axios.get("/").then(()=>{
 //处理逻辑
 ...
 console.log("请求结束")
 hideLoading();
}).catch(()=>{
 console.log("请求结束")
 hideLoading();
})

這樣的程式碼, 很冗餘餘。每到這個時候都有點懷念jQuery:


$.get("/").done(()=>{
 //处理逻辑
}).always(()=>{
 console.log("请求结束")
 hideLoading();
})

es6-promise-always正是對ES6的功能做了一個擴充,使其支援always,並同時支援node和browser.

使用

1.安裝


npm install es6-promise-always --save

2.引入使用


require("es6-promise-always")
axios.get("/").then(()=>{
 //处理逻辑
}).always(()=>{
 console.log("请求结束")
 hideLoading();
})

always(data, error)

  • #data: resolve的資料。

  • error: reject的資料。

Tips

不要擔心這個會讓你的程式變胖! es6-promise-always非常小。剛開始實現時always時,走錯了方向,辛好迷途知返。 github網址:https://github.com/wendux/es6-promise-always

相關推薦:

##ES6 Promise 簡單介紹

以上是ES6 Promise 擴充always方法實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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