如何解决我正在 js 中创建一个 pubsub 类,但是我在类导出导入方面遇到了问题
我正在为 javascript 创建一个 pubsub 类。其中有 3 种方法“发布、订阅、取消订阅”。我写了发布和订阅的逻辑,但可以弄清楚取消订阅方法。我的 pubsub js 看起来像这样。
class PubSub {
constructor() {
this.subscription = []
}
publish(namespace,payload) {
console.log('publishing');
if (!this.subscription[namespace]) return;
this.subscription[namespace].forEach(callback => {
callback(payload)
})
}
subscribe(namespace,callback) {
console.log('subscribing')
if (!this.subscription[namespace]) {
this.subscription[namespace] = [];
}
this.subscription[namespace].push(callback);
}
unsubscribe(namespace,callback) {
if (!this.subscription[namespace]) return;
this.subscription[namespace].splice(index,1);
}
}
module.exports = PubSub;
我的活动发布者如下所示:-
const { PubSub } = require('./pubsub');
const pubsub = new PubSub();
exports.PublishEvent = () => {
const data = {
msg: "Bla bla data"
};
pubsub.publish(data);
}
和事件订阅者看起来像这样
const { PubSub } = require("./pubsub");
const pubsub = new PubSub();
pubsub.subscribe("anEvent",data => {
console.log(
`"anEvent",was published with this data:"${data.message}"`
)
})
与此同时,我遇到了问题
const pubsub = new PubSub();
^
TypeError: PubSub is not a constructor
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。