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

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

  以上代码运行结果:

  

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

posted @ 2016-10-27 11:24  姜瑞涛  阅读(249)  评论(0编辑  收藏  举报