$.Deferred(),js异步,简化代码

$.Deferred() 为了解决js中需要很多异步的方法需要一个个回掉时,使用的东西。

这个东西我只使用过一次,也并没有完全理解,后续再补充吧,要想知道详细的话就去看看 阮一峰的讲解吧,挺详细的

定义一个方法:

function zhc_test(xxx){
var H = $.Deferred();
.
.   省略过程
.
   if(success){
H.reject();//改变Deferred的状态表示已执行完成
    }  else{
        H.reject();//和上面一样
    }
return H.promise();//最后return掉就行了
}

上面是创建一个方法,下面是调用:

zhc_test(xxxx).done(function (a) {
        xxxxx
    }).fail(function () {
        xxxx
    });

也就是说$.Deferred()这个玩意可以标注出某个方法的执行状态,而不用将一堆的东西写在同一个方法里,比如在同一个方法中进行了两次ajax请求,当然可以进行同步操作,但需要进行异步的时候,由于ajax的异步,并不能保证两个ajax是否同时完成甚至确保它的执行先后顺序时就用到它了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值