var jqxhr = $.getJSON( "example.json", function() {
console.log( "success" );
})
.done(function() {
console.log( "second success" );
})
.fail(function() {
console.log( "error" );
})
.always(function() {
console.log( "complete" );
});
Run Code Online (Sandbox Code Playgroud)
成功函数(作为第二个参数传递)与done()函数之间的区别是什么?他们似乎是一回事.
Den*_*ret 13
最初,jQuery异步函数没有返回promise,你必须使用回调.
然后他们添加了延迟(promise)系统,但保留了兼容性的回调(因为不是每个人都喜欢延迟).
在JavaScript中,通常调用可选地接受在该函数内调用的回调的函数.例如,在 jQuery 1.5之前的版本中,异步流程(如jQuery.ajax())接受在ajax请求成功,错误和完成时在不久的将来调用的回调.
jQuery.Deferred()引入了对回调管理和调用方式的几种增强.特别是,jQuery.Deferred()提供了提供多个回调的灵活方法,无论原始回调调度是否已经发生,都可以调用这些回调.jQuery Deferred基于CommonJS Promises/A设计.
| 归档时间: |
|
| 查看次数: |
21495 次 |
| 最近记录: |