发布订阅者模式的简版

// 发布者 订阅者模式
const pubsub = (() => {
  const topics = {};
  // 订阅
  function subscribe(topic) {
    if (!topics[topic]) {
      topics[topic] = [];
    }
    topics[topic] = function (a) {
      console.log(a)
    }
  }
  // 发布
  function publish(topic, ...args) {
    if (!topics[topic]) return;
    for (let param of args) {
      topics[topic](param);
    }
  }
  return {
    subscribe,
    publish
  }
})();
pubsub.subscribe('test');
pubsub.publish('test', 'HH', '123', '345'); // HH 123 345
pubsub.subscribe('test1')
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容