首先回顾一下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(