啥也不说贴代码,项目用

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

  

最新文章

  1. 关闭SqlServer连接
  2. Java 入门 代码2浮点数据类型
  3. 曲线行驶s弯道技巧图解【转】
  4. 【MySQL】insert批量插入优化方案
  5. uiscrollview上的 uipangesturerecognizer冲突
  6. PHP能得到你是从什么页面过来的,r…
  7. Android(java)学习笔记197:常用的对话框
  8. 绘图quartz之加水印
  9. Java自学资料——线程
  10. odd or even?
  11. 安卓图表引擎AChartEngine(六) - 框架源码结构图
  12. ORACLE数据库维护
  13. gunicorn+anaconda+nginx部署django项目(ubuntu)
  14. CAS实现单点登录
  15. luogu 3396 哈希冲突 奇怪的根号
  16. 买了第一台mac
  17. JMD Handy Baby 2 to Decode & Adding New BMW 525 ID46 Key
  18. luogu P2508 [HAOI2008]圆上的整点
  19. django----查看数据库中的sql语句
  20. SpringBoot @Aspect

热门文章

  1. intellij 调试spark scala 程序 报错
  2. Synchronized同步性与可见性
  3. SpringMvc的xml配置与annotation配置的例子的区别
  4. 【BZOJ1623】 [Usaco2008 Open]Cow Cars 奶牛飞车 贪心
  5. 两种让tableview返回顶部的方法
  6. Swing学习笔记1-----Swing组件类的层次
  7. 模拟--poj1835宇航员的故事
  8. pythonchallenge 解谜 Level 8
  9. hdfs 复制路径下所有文件
  10. SQL SQL语句的增删改查