+
95
-

微信小程序如何写一个可以订阅消息的代码?

微信小程序如何写一个可以订阅消息的代码?只要在app.js里接受到服务器消息,就可以按照各个page的订阅消息进行回调

网友回复

+
15
-

在utils下新建一个Topic.js文件,代码如下

class Topic {//主题
  constructor() {
    this.observers = [];//存储订阅者
  }
  subit(observer) {//增加订阅者
    this.observers.push(observer);
  }
  unsubit(observer) {//删除订阅者
    this.observers.forEach((item, index) => {
      if (item == observer) {
        this.observers.splice(index, 1);
        return;
      }
    });
  }
  notify(data) {// 向订阅者发布消息
    this.observ...

点击查看剩余70%

+
15
-

1、新建一个Publishtion.js

class Publishtion {
  
  subscribers = {
    any: []
  }

  // 添加订阅者 订阅者 = 注册方法
  on(type,fn) {
    type = type || 'any'
    if (typeof this.subscribers[type] === 'undefined') {
      this.subscribers[type] = []
    }
    this.subscribers[type].push(fn)
  }

  // 移除订阅者
  remove() {
    // 传入参数 移除的指令 移除的用户 对应的订阅消息
    this.visitSubscribers('unsubscribe', fn, type)
  }

  // 发布消息 
  publish(publication, type) {
    // 传入参数 发布消息的指令 发布的内容 发布到具体哪个类目
    this.visitSubscribers('publish', publication, type)
  }

  // 访问订阅库 ...

点击查看剩余70%

我知道答案,我要回答