怎么封装一个可以终止的Promise
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,本篇内容介绍了"怎么封装一个可以终止的Promise"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!今
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
关系型数据库通俗易懂的解释
软件开发企业怎么赚钱
中国服务器产业发展
ih5如何连接数据库
python连接行云数据库
为什么服务器获取失败
金铲铲微信区服务器满了
中科曙光网络安全部门怎么样
卫生局网络安全简报
网络安全的管理者
方舟服务器管理界面
过去的软件开发
湖南通用软件开发市场价
浪潮科技是互联网板块吗
网络安全工程师是职称吗
三级网络技术二十套题
首届全国网络安全竞赛答案
oracle微服务数据库
我与网络安全主题绘画精品集
软件开发需求建议书
曙光服务器品质怎么样
网络安全级数
张店工具软件开发定制
文献中常用外文数据库
长岛管理系统软件开发推荐
新形势下如何提高网络安全防范
乐成网络技术有限公司
学了网络技术专业可以干嘛
亿可控数据库源码
计算机网络技术尔雅考试