上代码:;(function(window,doc,undef){vartopics={},subUid=-1,pubsubz={};pubsubz.publish=function(topic,args){if(!topics[topic]){returnfalse;}setTimeout(function(){varsubscribers=topics[topic],len=subscribers?subscribers.length:0;while(len--){subscribers[len].func(topic,args);}},0);returntrue;};pubsubz.subscribe=function(topic,func){if(!topics[topic]){topics[topic]=[];}vartoken=(++subUid).toString();topics[topic].push({token:token,func:func});returntoken;};pubsubz.unsubscribe=function(token){for(varmintopics){if(topics[m]){for(vari=0,j=topics[m].length;iif(topics[m][i].token===token){ topics[m].splice(i,1);returntoken;}}}}returnfalse;};getPubSubz=function(){returnpubsubz;};window.pubsubz=getPubSubz();}(this,this.document));调用vartestSubscriber=function(topics,data){console.log(topics+":"+data);};vartestSubscription=pubsubz.subscribe('example1',testSubscriber);pubsubz.publish('example1','helloworld!');pubsubz.publish('example1',['test','a','b','c']);pubsubz.publish('example1',[{'color':'blue'},{'text':'hello'}]);看了一天没看懂为什么订阅和发布都是用pubsubz,求解:1.到底哪个是订阅者,哪个是发布者?2.为什么用同一个pubsubz??
莫回无
相关分类