美文网首页
js-观察者模式简单实现

js-观察者模式简单实现

作者: 雨蒙_snow | 来源:发表于2018-07-31 18:53 被阅读0次

    function Emitter() {
    this.handlers = {};
    }
    Emitter.prototype = {
    on: function(type, cb) {
    var _this = this;
    if(!(type in _this.handlers)) {
    _this.handlers[type] = [];
    }
    _this.handlers[type].push(cb);
    return _this;
    },
    emit: function(type) {
    var _this = this;
    var argsArr = Array.prototype.slice.call(arguments, 1);
    for(var i=0;i<_this.handlers[type].length;i++) {
    _this.handlers[type][i].apply(_this, argsArr);
    }
    return _this;
    }
    }

    var emit = new Emitter();
    emit.on('say', ()=>{console.log('i am on')});
    emit.emit('say');

    相关文章

      网友评论

          本文标题:js-观察者模式简单实现

          本文链接:https://www.haomeiwen.com/subject/dbzhvftx.html