发布订阅者模式1

人物:订阅者,发布者 订阅者:添加订阅者,存储订阅者 发布者:发布信息
1.添加订阅者,创建同类型容器(数组),存储同类型订阅者,同时将回调传入数组 2.发布者获取不同类型的容器(数组),进行循环,然后调用其回调,进行发布       const obj = {       // 存储订阅者       userList: {},
      // 添加订阅者       addUser (key, callBack) {         const { userList } = this // 解构存储订阅者列表
        if (!userList[key]) { // 对不同类型的订阅者进行分类           userList[key] = []         }
        userList[key].push(callBack) // 订阅者传入的回调放入数组       },
      // 发布者,给订阅者发布信息       publish (key, opt) {         const arr = this.userList[key] // 获取订阅者列表         arr.forEach(item => { // 循环每一名订阅者的回调,进行调用(发布)           item(opt)         })       }     }
    // 添加订阅者     obj.addUser('m20', opt => {       console.log('小白:', opt)     })
    obj.addUser('m20', opt => {       console.log('小黑:', opt)     })
    obj.addUser('m40', opt => {       console.log('小黄:', opt)     })
    // 订阅者发布信息     obj.publish('m20', '1000万')
    obj.publish('m40', '2000万')

 

        
上一篇:git 常用命令


下一篇:Servlet配置里面的多方式使用