前端基础 - Defer对象
参考:http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.html
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript">
// case 1, alert success 1, success 2
var dtd = $.Deferred(); // 新建一个Deferred对象
dtd.resolve('success');
dtd.then(function(msg){
alert(msg + ' 1');
return msg;
}).fail(function(msg){
alert(msg + ' 1')
return msg
}).then(function(msg){
alert(msg + ' 2')
return msg
}).fail(function(msg){
alert(msg + ' 2')
return msg
}) </script>
上面一段代码的执行结果是 success 1, success 2.
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript">
// case2, alert success1, fail 1, fail 2
var dtd = $.Deferred(); // 新建一个Deferred对象
dtd.resolve('success');
dtd.then(function(msg){
alert( msg + ' 1');
return new $.Deferred().reject('fail');
}).fail(function(msg){
alert( msg + ' 1');
return new $.Deferred().resolve('success');
}).then(function(msg){
alert( msg + ' 2');
return msg;
}).fail(function(msg){
alert( msg + ' 2');
return msg;
})
</script>
这一段代码执行结果是 success1, fail 1, fail 2. 能解释一下否?
前端基础 - Defer对象的更多相关文章
- JS BOM DOM对象 select联动 计时器 时间 css操作 节点(标签 ) 查找标签 {前端基础之BOM和DOM}
前端基础之BOM和DOM 前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我 ...
- 前端基础面试题(JS部分)
1.几种基本数据类型?复杂数据类型?值类型和引用数据类型?堆栈数据结构? 基本数据类型:Undefined.Null.Boolean.Number.String 值类型:数值.布尔值.null.und ...
- 前端基础面试题(js部分)
前端基础面试题(JS部分) 1.几种基本数据类型?复杂数据类型?值类型和引用数据类型?堆栈数据结构? 基本数据类型:Undefined.Null.Boolean.Number.String值类 ...
- web前端基础知识及快速入门指南
web前端基础知识及快速入门指南 做前端开发有几个月了,虽然说是几个月,但是中间断断续续的上课.考试以及其它杂七杂八的事情,到现在居然一直感觉自己虽然很多前端的知识很眼熟,却也感觉自己貌似也知识在门口 ...
- HTML+DIV+CSS+JSweb前端基础
HTML+DIV+CSS+JSweb前端基础 1.<html>和</html> 标签限定了文档的开始和结束点. 属性: (1) dir: 文本的显示方向,默认是从左向右 (2 ...
- 前端基础之DOM和BOM
前端基础之DOM和BOM JavaScript分为 ECMAScript,DOM,BOM. BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏 ...
- tableview前端基础设计(初级版)
tableView前端基础设计 实现的最终效果 操作目的:熟悉纯代码编辑TableView和常用的相关控件SearchBar.NavigationBar.TabBar等,以及布局和基本功能的实现. 一 ...
- web前端基础学习路线
1.HTML和CSS的基础知识,完成网页的初步设计 2.JavaScript基础知识和DOM.BOM的学习 3.前端基础框架:CSS框架Bootstrap.JavaScript框架jquery的熟悉使 ...
- 前端基础进阶(五):全方位解读this
https://segmentfault.com/a/1190000012646488 https://yangbo5207.github.io/wutongluo/ 说明:此处只是记录阅读前端基础 ...
随机推荐
- [ActionScript3.0] 运用JPEGEncoderOptions或者PNGEncoderOptions保存图片到本地
在flash player 11.3和air3.3之前,我们可以借助第三方类(JPEGEncoder)这些,很容易处理.现在,有了encode和JPEGEncoderOptions这些,处理位图数据就 ...
- ArcGIS Server建立缓存(切图)原理解析[图解] (转载)
GoogleMap ,VirtualEarth ,YahooMap 等,目前所有的WebGIS都使用了缓存机制 以提高地图访问速度.原理都是将地图设定为多个比例尺,对于每个比例尺提前将地图分成若干小图 ...
- js判断手机是的操作系统
var browser = { versions: function() { var u = navigator.userAgent, app = navigator.appVersion; retu ...
- 微信JSSDK示例代码 笔记
using System; using System.Collections.Generic; using System.Web; using System.IO; using System.Secu ...
- arcgis 栅格计算器(Spatial Analyst/Raster Calculator)
栅格计算器中用得到$$相关函数 $$NROWS: the number of rows in the analysis window (行数)$$NCOLS: the number of column ...
- LaTex学习笔记
常见符号大全:http://ia.wikipedia.org/wiki/Wikipedia:LaTeX_symbols 字体加粗: \textbf{} 换页:\newpage 大于等于,小于等于 ...
- 针对android方法数64k的限制,square做出的努力。精简protobuf
1.早期的Dalvik VM内部使用short类型变量来标识方法的id,dex限制了程序的最大方法数是65535,如果超过最大限制,无法编译,把dex.force.jumbo=true添加到proje ...
- 关于mina框架EMFILE: open too many files exception的处理
做项目的时候,用到了mina框架,与server进行交互.由于采用的是短连接+心跳包+断线重连的方式,因此网络不稳定的时候经常会出现断线重连. 那么有时候偶尔会出现EMFILE: open too m ...
- Swift学习(三)类型推导&基本运算&分支&循环
一.Swift中类型推导&基本运算 Swift中类型推导 如果一个标识符在定义时有直接赋值,那么可以根据后面赋值的类型,来推导出前面标识符的类型,这样前面标识符的(:类型)可以省略 查看标识符 ...
- JavaScript事件小结
我们都晓得JavaScrip事件的重要性,所以下面小结一下以备后用! 序号 事件 描述 备注 onclick 鼠标点击某个对象时触发此事件 是最常用的事件之一 onchange 用户改变域的内容时 ...