深入理解ES6 Promise 扩展always方法
作者:lazydu 时间:2024-04-18 09:46:46
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
来源:http://www.jianshu.com/p/a8473647253d
标签:ES6,Promise,always
0
投稿
猜你喜欢
python实现控制台打印的方法
2021-12-18 12:21:04
关于php unset对json_encode的影响详解
2023-07-06 08:33:52
浅谈慢SQL优化之索引的作用
2024-01-24 20:31:54
Python识别二维码的两种方法详解
2022-08-20 23:44:12
vscode单击新文件时覆盖旧文件的解决方法
2022-02-16 09:09:48
Python GUI布局尺寸适配方法
2022-03-07 05:52:26
Python中矩阵库Numpy基本操作详解
2021-07-09 18:13:05
定制FileField中的上传文件名称实例
2022-06-07 14:21:05
python pip安装的包目录(site-packages目录的位置)
2022-08-23 13:20:38
HTTP Headers 傻瓜教程[译]
2010-01-25 12:48:00
基于Python实现骰子小游戏
2023-07-11 22:39:58
详解如何在ChatGPT内构建一个Python解释器
2022-06-18 21:37:38
select count()和select count(1)的区别和执行方式讲解
2024-01-29 03:11:31
通过SQL Server的位运算功能巧妙解决多选查询方法
2024-01-22 01:21:26
python中csv文件创建、读取及修改等操作实例
2023-07-31 23:22:25
基于prototype扩展的JavaScript常用函数库
2023-08-24 15:09:57
基于Python制作B站视频下载小工具
2023-11-18 11:58:50
MySQL主从复制的原理及配置方法(比较详细)
2024-01-28 18:21:02
python实现超简单端口转发的方法
2022-12-25 04:00:53
vue 巧用过渡效果(小结)
2024-04-10 10:33:28