js实现简单的发布订阅者模式

62 阅读1分钟
var bus = {
  //订阅
  list: [],
  subscribe(callback) {
    this.list.push(callback);
  },

  //发布
  publish(v) {
    //遍历list,调用回调函数执行
    this.list.forEach((item) => {
      item && item(v);
    });
  },
};


//订阅者
bus.subscribe((v) => {
  console.log(v);
});
bus.subscribe((v) => {
  console.log(v);
});

//发布者
bus.publish("我是发布者");

可以用到Vue或者react中,实现传值,对于组件