课程
/前端开发
/jQuery
/jQuery源码解析(架构与依赖模块)
事件绑定和触发的时机比较诡异。可以先defer.resolve再defer.done。难道这个resolve是延迟执行的吗?
2015-07-31
源自:jQuery源码解析(架构与依赖模块) 5-3
正在回答
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库的设计与实现,揭开框架背后的秘密
1 回答参数多触发
1 回答方法调用先后
2 回答为何脚本解析二会在DomContentLoaded之前触发
1 回答_jQuery和_$值的问题
7 回答jQuery中的ready和原生DOMContentLoaded事件谁先执行?原因是什么?