resolve和done触发时机先后的问题

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

xp26538

2015-07-31 11:31

事件绑定和触发的时机比较诡异。可以先defer.resolve再defer.done。难道这个resolve是延迟执行的吗?

写回答 关注

3回答

  • 慕慕7300641
    2018-07-31 09:40:47

    defer.resolve 就是callbacks的fireWith方法,defer.done就是callbacks的add方法,callbacks的类型是once memory

  • 慕雪5194257
    2016-08-30 18:33:25

    你需要理解:[ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ]的意思。

    once memory模式下执行defer.resolve后,执行的结果会保存下来。之后通过done方法附加的函数都会理解执行并把resolve执行保存的结果传递给函数。

  • Puchen
    2015-07-31 14:20:47

    defer只能观察一个defer状态

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

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

84047 学习 · 280 问题

查看课程

相似问题