Skip to content

jQuery.Deferred 对象 #30

@Calerme

Description

@Calerme

概述

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions