深入理解ES6 Promise 扩展always方法
2017-09-26 16:50
615 查看
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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- 深入理解 JavaScript 异步系列(3)—— ES6 中的 Promise
- 深入理解 JavaScript 异步系列(3)—— ES6 中的 Promise
- 深入理解 JavaScript 异步系列(3)—— ES6 中的 Promise
- 【读书笔记】【深入理解ES6】#11-Promise与异步编程
- 深入理解扩展方法
- 【读书笔记】【深入理解ES6】#4-扩展对象的功能性
- 深入理解 JavaScript 异步系列(3)—— ES6 中的 Promise
- 关于ES6的Promise的使用深入理解
- 深入理解ES6里的promise
- 深入理解React中es6创建组件this的方法
- ES6 Promise的resolved深入理解
- 深入理解 Promise 五部曲:4. 扩展问题
- 深入理解React中es6创建组件this的方法
- 深入理解 c# 第一章 使用扩展方法对 List<Product> 排序
- 《深入理解ES6》阅读笔记 --- Promise与异步编程
- Promise简单理解---ES6
- 深入理解ES6学习笔记之块级作用域绑定
- C# 语言特性系列(6) 深入理解密封方法 sealed
- 深入理解PHP内核(十四)类的成员变量及方法
- 深入理解JVM : class文件结构之类信息描述、字段表、方法表(2)