关于$.Deferred()对象的应用
2015-08-16 18:24
288 查看
这里讨论一下$.Deferred()对象的应用中.then(function(){})函数的一个一个问题。
.then(function(){
return fn();
})
为什么要有return?
var boy = BoyWalk();
// 开始
$("button:first").click(function(){
boy.walkTo(2000, 0.2).then(function(){
// 第一次走路完成
boy.setColor("red");
}).then(function(){
// 第二次开始走
return boy.walkTo(2000, 0.4);
//没有return就会调用上一个Deferred对象,状态为已完成,所以以下函数执行同步,then函数没有异步作用,第二次走路的同时颜色变为黄色。有return则在boy.walkTo(2000, 0.4)函数内部会重新创建Deferred对象,直到动画完成,新Deferred对象的状态才会变为已完成。
}).then(function(){
// 第二次走完
boy.setColor("yellow");
}).then(function(){
// 第三次开始走
boy.walkTo(2000, 0.6);
}).then(function(){
// 第三次走完
boy.setColor("blue");
});
});
我们不用管这代码的作用,只看注释就可以了。
相关文章推荐
- 关于“基于消息驱动的面向对象通用C/S应用框架的源码”
- 关于面向对象思想在程序开发中的应用
- 关于proxy模式下,@Transactional标签在创建代理对象时的应用
- 关于字符编码、对象传递、文件传递、字符串传递、 TcpClient、TcpListener的又一个应用
- jquery Deferred 对象应用实例
- 关于如何将含有Date类型属性的对象转换成符合实际应用的Json字符串
- 关于Java对象序列化的应用~~~
- 关于主窗体与子窗体之间的通信以及面向对象思想的一些应用
- jquery高级应用之Deferred对象
- 关于JQuery中的Deferred延迟操作对象
- Android应用设计提示:关于资源对象
- 关于python中对象复制和应用的问题
- 关于GDI对象泄露查找的经验总结
- windows对象提供的两种定时器的应用,时钟
- [连载]基于消息驱动的面向对象通用C/S应用框架(十一)
- Android中关于android:layout_weight的分析与巧妙应用一
- jQuery的deferred对象详解
- 域对象——ServletContext及应用
- 关于前端localStorage的应用
- 基于消息驱动的面向对象通用C/S应用框架(八)