您的位置:首页 > Web前端

前端基础 - Defer对象

2016-02-25 13:19 337 查看
参考: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. 能解释一下否?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: