加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > C语言 > 正文

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

发布时间:2020-12-15 00:38:17 所属栏目:C语言 来源:网络整理
导读:1.观察者模式 //当一个对象改变,同时要改变其他对象,但不知道要改变多少个其他对象的时候,就应该使用观察者模式function show(name){ console.log(name);} var objservable = { cbArr: [],add: function(fun){ this.cbArr.push(fun); },fire: function(){

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);
})

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读