基于Deferred给Javascript对象附件异步事件
场景:希望javascript对象执行完成之后,或遇到异常事件以后,执行回调或异常处理函数
实现方案:Promise与Deferred实现
实现方法:
var dtd=$.Deferred();//创建延迟执行对象
function TestFun(defer){
console.log("testfun run!");
defer.resolve();//把Deferred的状态从未完成改变成已完成
}
dtd.promise(TestFun);//给TestFun对象附加Deferred对象的方法
TestFun.done(function(){
//Todo
}).fail(function(){
//ToDo
});
TestFun(dtd);//调用函数
附:Deferred对象结构图

浙公网安备 33010602011771号