订阅-发布者模式

发布者订阅模式

  1. 发布订阅模式可以广泛应用于异步编程中,这是一种替代传递回调函数的方案.
  2. 可以取代对象之间的硬编码的通知机制,一个对象不再显式的调用另外一个对象的某个借口

//如何实现发布-订阅者模式

  1. //1.首先要指定好谁充当发布者
  2. //2.然后给发布者添加一个缓存列表,用于存放回调函数以便通知者订阅
  3. //3.最后发布消息的时候,发布者会遍历这个缓存列表,以此出发里面的订阅者回调函数.
```var salesOffice ={};
salesOffice.clientList =[];
salesOffice.listen = function(fn){
    this.clientList.push(fn);
};
salesOffice.trigger =function(){
    for(var i= 0,fn;fn=this.clientList[i++];){
        fn.apply(this,arguments);
    }
};

salesOffice.listen(function(price,squareMeter){
    console.log("jiage="+price);
    console.log("squareMeter="+squareMeter);
});

salesOffice.listen(function(price,squareMeter){
    console.log("jiage="+price);
    console.log("squareMeter="+squareMeter);
});
salesOffice.listen(function(price,squareMeter){
    console.log("3jiage="+price);
    console.log("3squareMeter="+squareMeter);
});
console.log(salesOffice.clientList);

salesOffice.trigger(2000,88);
salesOffice.trigger(30000,110);```

results matching ""

    No results matching ""