问答详情
源自:5-3 认识$.Deferred的接口

为啥可以filtered.done的问题

var filterResolve = function() {

  var defer = $.Deferred(),

    filtered = defer.then(function(value) {

      return value * 2;

    });

  defer.resolve(5);

  

  filtered.done(function(value) {

    show("Value is ( 2*5 = ) 10: " + value);

  });

};

filtered=defer.then(function(value) {

      return value * 2;

    });之后filtered不应该是defer.resolve(5)给defer.then运行之后的数字10吗 为什么filtered为啥会有done方法 他是defered对象吗


提问者:_莫忘初衷_ 2016-12-13 19:33

个回答

  • _莫忘初衷_
    2016-12-13 19:50:38

    已经懂了 是defer.resolve(5)给defer.then里的参数回调运行之后是数字10,然后这个数字10再给defer.then()运行赋值给了filtered,所以filetered才有了done方法