js发布订阅简洁版

var event = {
    items: {},
    on: function (type, fn) {
        if (!this.items[type]) {
            this.items[type] = []
        }
        this.items[type].push(fn)
    },
    emit: function (type) {
        for (var i in this.items) {
            if (i == type) {
                this.items[type].forEach(fn => fn())
            }
        }
    },
    off: function (type) {
        if (type) {
            delete this.items[type]
        } else {
            this.items = {}
        }
    }
}

 

posted @ 2020-03-04 22:30  dnoyeb  阅读(192)  评论(0编辑  收藏  举报