您好,登錄后才能下訂單哦!
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)
Tips
不要擔心這個會讓你的程序變胖!es6-promise-always非常小。剛開始實現時always時,走錯了方向,辛好迷途知返。github地址:https://github.com/wendux/es6-promise-always
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。