理解jQuery中的Promise

本文介绍了jQuery中的Promise对象,从Promise的进化史开始,详细阐述了promise与deferred的关系,如何生成纯promise对象,以及jQuery中Promise对象的特性,如notify、progress、when和pipe方法的使用。通过实例展示了Promise如何替代回调函数,改善异步编程体验。
摘要由CSDN通过智能技术生成

首先回顾一下jQuery的deferred对象:
jQuery的deferred对象

关于Promise的进化史

在jQuery1.4中,还没有promise这个概念,写一个ajax,就得写回调函数,就像这样:

$.get('/myData', {
    success: onSuccess,
    failure: onFailure,
    always: onAlways
})

到了jQuery1.5+之后,有了promise,就可以给ajax 的get返回的就是一个promise对象(我这样理解不知道对不对)
然后代码的形式就变成了这样:

var promise = $.get('/myData');
promise.done(onSuccess);
promise.fail(onFailure);
promise.always(onAlways);

这样的好处是Promise对象和EventEmitter对象一样,可以向同一事件绑定任意多的处理器。

promise就是deferred

或者说是用deferred就可以生成一个promise对象

var prompt = new $.Deferred();
$('#playGame').focus().on(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值