自用迷你版的Deferred
自用 deferred
2023-09-14 08:57:46 时间
啥也不说贴代码,项目用
/** * 迷你版的deferred */ function Deferred(func) { if (this instanceof Deferred === false) { return new Deferred(func) } var tuple = []; var promise = { resolve: function() { var t = tuple.shift(), n; t && (n = t.apply(null, arguments), n instanceof Deferred && (n.tuple = tuple)); }, then: function(n) { return tuple.push(n), this; } } if (func) { func.call(promise, promise.resolve); } return promise; };
demo1
var d = new Deferred(); setTimeout(function() { d.resolve('aaaa') }, 500) d.then(function(bbb){ console.log(bbb) })
demo2
Deferred(function(resolve) { resolve('aaaa') }).then(function(bbb) { console.log(bbb) })
相关文章
- 自用vim配置文件.vimrc「建议收藏」
- 模电基础部分总结(自用)
- WPF MVVM 模式下自写自用的窗口样式
- 【NEW】WPF MVVM 模式下自写自用的窗口样式
- vs-code常用插件(自用)
- 自用知识_实用小知识
- 自用白色简约的Typecho后台美化插件-WangStyle
- mac自用开发环境记录
- 一款自用的翻译小工具,开源了
- 自用家庭网络改造计划全流程
- 【自用】Win 11 安装后细节调整
- 迅雷 11.1.8.1418去广告VIP自用版
- SAP 动态内表demo—-自用详解编程语言
- SAP ALV demo—-自用(新显示函数,不用自定义GUI状态)详解编程语言
- SAP ABAP-ALV选择屏幕字段按需显示demo—自用详解编程语言
- FI三大报表-demo—自用详解编程语言
- SAP ALV demo—自用详解编程语言
- 自用mysql自带命令实现数据库备份还原的方法