微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我正在 js 中创建一个 pubsub 类,但是我在类导出导入方面遇到了问题

如何解决我正在 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 举报,一经查实,本站将立刻删除。