微信小程序如何写一个可以订阅消息的代码?只要在app.js里接受到服务器消息,就可以按照各个page的订阅消息进行回调
网友回复
在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%
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%