码迷,mamicode.com
首页 > Web开发 > 详细

前段JS的服务订阅&服务发布

时间:2018-07-20 11:30:04      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:rem   rgs   remote   nts   push   i++   call   name   .sh   

var eventCenter =
{
	sub:function(mesName, mesCallback){
	    this.argus=this.argus||{};
	    this.argus[mesName]=this.argus[mesName]||[];
	    this.argus[mesName].push(mesCallback);
	},
	pub:function(){
	    var args=Array.prototype.slice.call(arguments,0);
	    var mesName=args.shift();
	    if(!this.argus || !this.argus[mesName]){
	        return this;
	    }
	    for(var i=0;i<this.argus[mesName].length;i++){
	        this.argus[mesName][i].apply(this,args)
	    }
	}
}

//js事件订阅
eventCenter.sub(‘a‘,function(){
     console.log(2);
});

eventCenter.sub(‘remote‘,function(){
     console.log(‘remote call‘);
});

eventCenter.sub(‘timeout‘,function(){
     setTimeout(function() {
	 eventCenter.pub(‘remote‘);
     }, 5000);
})

//js事件发布
eventCenter.pub(‘a‘);
eventCenter.pub(‘timeout‘);

前段JS的服务订阅&服务发布

标签:rem   rgs   remote   nts   push   i++   call   name   .sh   

原文地址:https://www.cnblogs.com/feixiablog/p/9339729.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!