前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >实现简单的订阅模式

实现简单的订阅模式

原创
作者头像
愤怒的小鸟
修改2021-10-13 18:08:39
3280
修改2021-10-13 18:08:39
举报
文章被收录于专栏:web shareweb shareweb share
function Events() {
    this.on = function() {
        if (!this.handles) {
            this.handles = {}
        }
        
        if (!this.handles[eventName]) {
            this.handles[eventName] = []
        }
        
        this.handles[eventName].push(callBack)
    }
    
    this.emit = function(eventName, obj) {
        if (this.handles[eventName]) {
            for(var i = 0; i < this.handles[eventName].length; i++) {
                 this.handles[eventName][i](obj)
            }
        }
    }
    
    return this
}

// 调用实例
var events = new Events()
events.on('say', function(name) {
    console.log('Hello', name)
})

events.emit('say', 'jony yu')

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档