jQuery中回调函数的设计与实现

前端之家收集整理的这篇文章主要介绍了jQuery中回调函数的设计与实现前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1.观察者模式

//当一个对象改变,同时要改变其他对象,但不知道要改变多少个其他对象的时候,就应该使用观察者模式
function show(name){
    console.log(name);
}

var objservable = {
cbArr: [],add: function(fun){
this.cbArr.push(fun);
},fire: function(){
this.cbArr.forEach(function(fun){
fun(data);
})
}
}
// 开始订阅
obj.add(function(){ console.log(1) });
obj.add(function(){ console.log(2) });
// 开始发布
obj.fire();

2.模式的实际运用

$({ url: 'index.PHP',context: dataObj}).done(function(data){
    $('div').html(data);
    $('div').animate();
    $('div').show;
});
// 在回调中做一系列的任务过于繁琐,那么观察者模式可以很好的解决这个问题;
observable.add(function(data){
    $('div').html(data);
})
observable.add(function(data){
    if(data.status){
        $('div').animate();
    }
})
observable.add(function(data){
    $('div').show();
})
$({ url: 'index.PHP',context: dataObj}).done(function(data){
    observable.fire(data);
})

总的来说,观察者模式就是在解耦,让耦合的双方都依赖于抽象,而不依赖于具体,从而达到,一边的变化不会影响到另一边。

猜你在找的程序笔记相关文章