当前位置: 首页 > 后端技术 > Node.js

javascript设计模式--发布-订阅模式

时间:2023-04-03 15:45:31 Node.js

1.实现发布-订阅模式(1)首先指定谁来充当发布者(2)然后给发布者添加一个缓存列表,用来存放通知订阅的回调函数(记录客户的花名册)(3)当最后一条消息是发布后,发布者遍历缓存列表,依次触发订阅者的回调函数(遍历花名册,一条一条发送短信)。另外,我们可以在回调函数中填写一些参数,订阅者可以接受这些参数,这是非常有必要的,比如添加房屋的单价和面积信息。订户可以自行处理这些信息。varsaleOffices={}//售楼处发布者saleOffices.clientList=[]//在缓存列表中存储订阅者的回调函数saleOffices.listen=function(fn){//添加订阅者this.clientList.push(fn)//订阅者的消息添加到缓存列表}saleOffices.trigger=function(){//发布信息for(leti=0,fn;fn=this.clientList[i++];){fn.apply(this,arguments);}}saleOffices.listen(function(price,squareMeter){console.log('price='+price)console.log('squareMeter='+squareMeter)})saleOffices.listen(function(price,squareMeter){控制台。log('price='+price)console.log('squareMeter='+squareMeter)})saleOffices.trigger(2000000,100)saleOffices.trigger(199998,100)打印结果:price=2000000squareMeter=100price=2000000squareMeter=100price=199998squareMeter=100price=199998squareMeter=100这里可以看到每个订阅者收到了两条价格信息。