为promise部署complete方法
思想:在promise的prototype上新增该方法
Promise.prototype.complete=function(callback){
let p=this.constructor;
return this.then(
value=>p.resolve(callback()).then(()=>value),
reson=>p.resolve(callback()).then(()=>{throw reson})
)
}
eg:
let p1=new Promise((resolve,reject)=>{
let radom=Math.random()*10;
setTimeout(()=>{
if(radom%2===0){
let suc='接口请求成功';
resolve(suc);
}else{
let err='接口请求失败';
reject(err);
}
},500)
})
p1.then((data)=>{
console.log(`${data}`);
}).catch((err)=>{
console.log(`${err}`)
}).complete(()=>{
console.log('无论成功或失败请求都已经完成');
})
打印输出结果为:
接口请求失败
无论成功或失败请求都已经完成
结果和预期效果一致。
为promise部署complete方法相关推荐
- Intellij IDEA 4种配置热部署的方法【转】【补】
热加载 热加载可以使代码修改后无须重启服务器,就可以加载更改的代码.(其实分java和非java代码,本处可以让java代码立即生效且不重启服务) 第1种:修改服务器配置,使得IDEA窗口失去焦点时, ...
- Java自动部署maven_Maven+Tomcat8 实现自动化部署的方法
本文介绍了maven+tomcat8 实现自动化部署的方法,分享给大家,具体如下: 1.配置tomcat-users.xml 首先在tomcat里配置deploy的用户(tomcat根目录/conf/ ...
- [JavaScript] promise中.then()方法
promise中.then()方法 promise的构造函数是同步执行 promise.then中的函数是异步执行 .then()异步执行 : 当此方法执行完后再执行内部的程序是避免了没有获取到数据 ...
- es6 Promise.prototype.catch()方法
Promise.prototype.catch()方法 Promise.prototype.catch方法是.then(null, rejection)的别名,用于指定发生错误时的回调函数. getJ ...
- es6 Promise.prototype.then()方法
Promise.prototype.then()方法 Promise 实例具有then方法,也就是说,then方法是定义在原型对象Promise.prototype上的.它的作用是为 Promise ...
- arm架构服务器安装系统教程,docker服务在arm平台上部署安装方法
docker服务在arm平台上部署安装方法 本教程使用的硬件平台是全志A40I,操作系统采用的是ubuntu18.04,内核是3.10.108(内核很老导致docker兼容性不好) 1.获取最新版本的 ...
- Promise的使用方法
PS~: Promise是一个构造函数,自己身上有all.reject.resolve等几个方法,原型上有then.catch等几个方法. Promise 对象用于表示一个异步操作的最终状态(完成或失 ...
- 配置idea自带的tomcat_Tomcat下载安装并部署到IDEA的教程(附带idea两种热部署设置方法)...
使用Idea的时候,修改了代码,需要反复的重启Tomcat,查看效果,是不是贼烦?还记得刚上手idea的时候,瞎配置部署Tomcat,结果最后修改一个jsp都要重新启动服务器,我这金牛座程序员能忍?~ ...
- ajax get before,Ajax beforeSend和complete 方法
.ajax({ beforeSend: function(){ // Handle the beforeSend event }, complete: function(){ // Handle th ...
最新文章
- iBATIS:xml中定义返回值
- redis springmvc mysql_SpringMVC + MyBatis + Mysql + Redis(作为二级缓存) 配置
- VTK:几何对象之Dodecahedron
- NHibernate中的API
- L1-008. 求整数段和
- SQL 查询--日期条件(今日、昨日、本周、本月。。。) (转)
- iOS 下ARC的内存管理机制
- P2550 [AHOI2001]彩票摇奖
- 7-174 两个有序链表序列的合并 (20 分)
- java 获取线程某个_Java中如何唤醒“指定的“某个线程
- macappstore登不上去_丈夫在外与多人暧昧,妻子气愤不已,可他却怒怼:这还不都是你逼的...
- JavaScript - 测试 jQuery
- VB连接SQL2000数据库代码
- CYQ.Data 轻量数据层之路 框架如何应对数据库变化
- 51单片机——LED发光二极管、蜂鸣器C语言入门编程
- 如何在WordPress中显示链接的实时预览
- (48)性能测试——聚合报告
- 干货:怎么样才能提升版式平面设计的大方美观?
- 自己对PID控制算法的一点见解
- echarts柱状图顶部数据显示气泡