深入理解ES6 Promise 擴(kuò)展always方法
ES6添加了Promise對(duì)象,成功時(shí)在then中處理,失敗則在catch中處理,但有時(shí)候,我們需要在無(wú)論成功或失敗時(shí)都要做一些事,比如隱藏loading, 記錄日志等等,下面我們以瀏覽器端ajax請(qǐng)求為例,我們使用axios(它是基于Promise的):
axios.get("/").then(()=>{ //處理邏輯 ... console.log("請(qǐng)求結(jié)束") hideLoading(); }).catch(()=>{ console.log("請(qǐng)求結(jié)束") hideLoading(); })
這樣的代碼, 很冗余。每到這個(gè)時(shí)候都有點(diǎn)懷念jQuery:
$.get("/").done(()=>{ //處理邏輯 }).always(()=>{ console.log("請(qǐng)求結(jié)束") hideLoading(); })
es6-promise-always正是對(duì)ES6的功能做了一個(gè)擴(kuò)充,使其支持always,并同時(shí)支持node和browser.
使用
1.安裝
npm install es6-promise-always --save
2.引入使用
require("es6-promise-always") axios.get("/").then(()=>{ //處理邏輯 }).always(()=>{ console.log("請(qǐng)求結(jié)束") hideLoading(); })
always(data, error)
- data: resolve的數(shù)據(jù)。
- error: reject的數(shù)據(jù)。
Tips
不要擔(dān)心這個(gè)會(huì)讓你的程序變胖!es6-promise-always非常小。剛開(kāi)始實(shí)現(xiàn)時(shí)always時(shí),走錯(cuò)了方向,辛好迷途知返。github地址:https://github.com/wendux/es6-promise-always
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 讓你徹底掌握es6 Promise的八段代碼
- ES6新特性六:promise對(duì)象實(shí)例詳解
- 深入解析ES6中的promise
- 詳解ES6 Promise對(duì)象then方法鏈?zhǔn)秸{(diào)用
- 淺析Javascript ES6中的原生Promise
- ES6關(guān)于Promise的用法詳解
- ES6 Promise對(duì)象概念與用法分析
- ES6中的Promise代碼詳解
- ES6 Promise對(duì)象的應(yīng)用實(shí)例分析
- ES6 Promise對(duì)象的含義和基本用法分析
- ES6中異步對(duì)象Promise用法詳解
- ES6中Promise的使用方法實(shí)例總結(jié)
相關(guān)文章
使用JavaScript實(shí)現(xiàn)node.js中的path.join方法
Node.JS中的 path.join 非常方便,能直接按相對(duì)或絕對(duì)合并路徑,有時(shí)侯前端也需要這種方法,如何實(shí)現(xiàn)呢?感興趣的朋友跟隨腳本之家小編一起看看吧2018-08-08微信小程序事件點(diǎn)擊跳轉(zhuǎn)頁(yè)面的五種方法小結(jié)
本文主要介紹了微信小程序事件點(diǎn)擊跳轉(zhuǎn)頁(yè)面的五種方法小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07Javascript浮點(diǎn)數(shù)乘積運(yùn)算出現(xiàn)多位小數(shù)的解決方法
這篇文章主要介紹了Javascript浮點(diǎn)數(shù)乘積運(yùn)算出現(xiàn)多位小數(shù)的解決方法,需要的朋友可以參考下2014-02-02將input框中輸入內(nèi)容顯示在相應(yīng)的div中【三種方法可選】
本篇文章主要介紹了在input框中輸入內(nèi)容,會(huì)相應(yīng)的顯示在下面的div中的不同做法:js方法;jQuery方法;AngularJs方法,具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-05-05JavaScript數(shù)據(jù)結(jié)構(gòu)之?dāng)?shù)組的表示方法示例
這篇文章主要介紹了JavaScript數(shù)據(jù)結(jié)構(gòu)之?dāng)?shù)組的表示方法,從數(shù)據(jù)結(jié)構(gòu)線性表的角度分析了數(shù)組的原理并結(jié)合實(shí)例形式分析了javascript數(shù)組的定義與使用方法,需要的朋友可以參考下2017-04-04