为啥可以filtered.done的问题

来源:5-3 认识$.Deferred的接口

_莫忘初衷_

2016-12-13 19:33

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对象吗


写回答 关注

1回答

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

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

jQuery源码解析(架构与依赖模块)

由浅入深地剖析jQuery库的设计与实现,揭开框架背后的秘密

84047 学习 · 280 问题

查看课程

相似问题