概述
jQuery.Deferred 对象就是 jQuery 对 Promise 规范的不完全实现。
生成 Deferred 对象
const deferred = $.Deferred();
// 此时 deferred 的状态为 pending
改变 Deferred 实例的状态
- deferred.resolve()
- deferred.reject()
状态一一旦从 resolve 改变为 resolved 或 rejected 就不能再改变了。
Deferred 对象上的回调函数
- deferred.done(fn)
- deferred.fail(fn)
- deferred.always(fn)
deferred
.done(function () {
console.log('Promise is resolved.');
})
.fail(function () {
console.log('Promise is rejected.');
})
.always(function () {
console.log('Promise's state changed.');
});
notify() & progress()
then()
deferred.then( doneFilter [, failFilter] [, progressFilter]);
参考
jQUery.Deferred
概述
jQuery.Deferred 对象就是 jQuery 对 Promise 规范的不完全实现。
生成 Deferred 对象
改变 Deferred 实例的状态
状态一一旦从 resolve 改变为 resolved 或 rejected 就不能再改变了。
Deferred 对象上的回调函数
notify() & progress()
then()
参考
jQUery.Deferred