jq里延迟对象Deferred,状态变化后,会一直保持

    var defer = $.Deferred();
    defer.resolve('abc');
    defer.done(function (data) {
        console.log(data);
    })
    defer.done(function (data) {
        console.log(data);
    })

  以上代码运行结果:

  

  resolve之后的两次done()都执行了,而不是只执行第一次。说明延迟对象是一种状态,只要变更了,后面根据状态的函数都会执行。

原文地址:https://www.cnblogs.com/zhansu/p/6003290.html