一、前言
jQuery.Deferred作为1.5的新特性出现在jQuery上,而jQuery.ajax函数也做了相应的调整。因此我们能如下的使用xhr请求调用,并实现事件处理函数晚绑定。
var promise = $.getJSON('dummy.js')
// 其他逻辑处理
promise.then(function(){
alert('late binding')
})
我还一度以为这就是Promises/A+规范的实现,但其实jQuery.Deferred应该与jsDeferred归为一类,我称之为Before Promises/A。虽然jQuery.Deferred的出现会导致初接触Promise的朋友产生不少的误解,但同时证明了Promises/A+规范的实现已成为开发过程中必不可少的利器了。
接下来我们会踏上从1.5到2.1版本的jQuery.Deferred实现的剖析之旅,有兴趣的朋友们请坐稳扶好哦!!!