博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自用迷你版的Deferred
阅读量:5980 次
发布时间:2019-06-20

本文共 959 字,大约阅读时间需要 3 分钟。

啥也不说贴代码,项目用

/**     * 迷你版的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

1
2
3
4
5
Deferred(
function
(resolve) {
    
resolve(
'aaaa'
)
}).then(
function
(bbb) {
    
console.log(bbb)
})

  

本文转自艾伦 Aaron博客园博客,原文链接:http://www.cnblogs.com/aaronjs/p/3745607.html,如需转载请自行联系原作者

你可能感兴趣的文章
java学习之租车系统
查看>>
【杭电ACM】1004 Let the Balloon Rise
查看>>
2018年5月26日笔记
查看>>
arcgis裁剪失败
查看>>
《高性能MySQL》--复制笔记
查看>>
3.07 检测两个表中是否有相同的数据
查看>>
价值投资
查看>>
eclipse 使用Maven deploy命令部署构建到Nexus
查看>>
DAG模型
查看>>
AHK按键转载
查看>>
深浅拷贝 python
查看>>
C++ gui程序附加dos输出窗口
查看>>
jQuery验证控件jquery.validate.js使用说明+中文API
查看>>
Linux 查看.so中导出函数
查看>>
数组中简便方法求最大值,最小值,平均值,求和,和个数
查看>>
洛谷P4219 大融合
查看>>
adb 查看 android手机的CPU架构
查看>>
Java概述
查看>>
Windows 8 Metro App开发[8]处理Fullscreen, Snapped和Filled状态
查看>>
步步为营 .NET 设计模式学习笔记 十五、Composite(组合模式)
查看>>