怎么封装一个可以终止的Promise
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容介绍了"怎么封装一个可以终止的Promise"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!今
千家信息网最后更新 2026年11月03日怎么封装一个可以终止的Promise今天被同事问到如何中止Promise调用链,按照官方文档的意思,原生的Promise是不能被中止的,但是我们可以对其进行小小的改造,封装一个可以被"中止"的Promsie。代码如下:
阅读代码,我们利用闭包将每个Promise的reject保存起来,在需要中止的时候,去调用对应Promise的reject即可"中止"Promise的后续执行,巧妙的实现了终止Promise的then链执行。
本篇内容介绍了"怎么封装一个可以终止的Promise"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
function MyPromise(callback) {// 1、在Pormise外部定义变量let _resolve;let _reject;const promise = new Promise((resolve, reject) => {// 2、在Pormise内部将promise的resolev和reject方法赋值给外部变量_resolve = resolve;_reject = reject;callback && callback(resolve);})return {promise,_reject}}let p1 = MyPromise(function (reslove) {setTimeout(() => {reslove(1000)}, 3000);})let p2 = MyPromise(function (reslove) {setTimeout(() => {reslove(2000)}, 3000);})let p3 = MyPromise(function (reslove) {setTimeout(() => {reslove(3000)}, 3000);})p1.promise.then(data => {console.log(data)return p2.promise;}).then(data => {console.log(data)return p3.promise;}).then(data => {console.log(data)}).catch(e => console.log(e))// 此处p3可以更改为p1或p2,根据需求终止promise调用链p3._reject(444)
"怎么封装一个可以终止的Promise"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
变量
封装
时候
代码
内容
更多
知识
实用
巧妙
学有所成
接下来
可以通过
同事
困境
官方
实际
情况
意思
控制权
文档
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技公司
华服互联网科技怎么样
蓝思科技飞鸽互联网
互联网通讯科技
科技信息互联网
凡科互联网科技
致聘互联网科技
丰台科技园 互联网
佰商互联网科技有限公司
互联网经济与金融科技
互联网科技和法律行业
朱啸虎曾投资哪些互联网科技企业
美国互联网科技实力
陕西九四连强互联网科技有限公司
互联网公司属于科技吗
互联网科技手抄报图片
唐山双旺合互联网科技产业园
互联网科技品牌
安徽九吞吴互联网科技有限公司
上海旺乐尼互联网科技有限公司
中国互联网科技发展
互联网科技上市公司
碳银互联网科技有限公司
亿人帮互联网科技
重庆威客帮互联网科技
互联网金融科技展
上海京穆互联网科技有限公司
盐城市攀科互联网科技有限公司
上海旺乐尼互联网科技有限公司
瑞安市蟠桃会互联网科技有限公司