xp26538
2015-07-31 11:31
事件绑定和触发的时机比较诡异。可以先defer.resolve再defer.done。难道这个resolve是延迟执行的吗?
defer.resolve 就是callbacks的fireWith方法,defer.done就是callbacks的add方法,callbacks的类型是once memory
你需要理解:[ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ]的意思。
once memory模式下执行defer.resolve后,执行的结果会保存下来。之后通过done方法附加的函数都会理解执行并把resolve执行保存的结果传递给函数。
defer只能观察一个defer状态
jQuery源码解析(架构与依赖模块)
84047 学习 · 280 问题
相似问题