js前端与nodejs后端都支持的并发处理后总回调类
发布于 9 年前 作者 abans 3940 次浏览 最后一次编辑是 8 年前 来自 分享

库下载地址:Acan.js 情景一:循环N个并发回调后的总回调 <pre><code>var name={1:“dbget”,2:“tplget”,3:“apiget”,3:“optget”}; var ccb=Acan.ccb(Acan.count(name),function(){ //这里就是总回调 }); for(var i in name){ setTimeout(function(){ ccb.cb(); },200); };</pre></code> 情景二:并发任务数量确定的情况 <pre><code>var ccb=Acan.ccb(2,function(){ //这里就是总回调 }); setTimeout(function(){ ccb.cb(); },200); setTimeout(function(){ ccb.cb(); },200);</pre></code> 情景二:并发任务数量不确定的情况 <pre><code>var ccb=Acan.ccb(1,function(){ //这里就是总回调 }); test1(); test2(); funtion test1(){ ccb.at(); setTimeout(function(){ ccb.cb(); },200); } funtion test2(){ ccb.at(); setTimeout(function(){ ccb.cb(); },200); } ccb.cb();</pre></code>


js前端及node.js开发高薪招聘 https://cnodejs.org/topic/5485353b73dcca8d21292a38

5 回复
var Acan={};
Acan.isInt=function(s){
	return parseInt(s)===s?true:false;
}
Acan.isInts=function(s){
	return parseInt(s)==s?true:false;
}
Acan.isBool=function(s){
	return typeof(s)=='boolean'?true:false;
}
Acan.isNum=function(s){
	return typeof(s)=='number'?true:false;
}
Acan.isStr=function(s){
	return typeof(s)=='string'?true:false;
}
Acan.isArr=function(d){
	return d instanceof Array;
}
Acan.isObj=function(d){
	return d instanceof Object;
}
Acan.isFun=function(d){
	return d instanceof Function;
}
Acan.isDate=function(d){
	return d instanceof Date;
}
Acan.isDefined=function(d){
	return !("undefined" == typeof d);
}
Acan.isEle=function(d){
	if(Acan.isObj(d) && d.nodeType===1) return true;
	else return false;
}
Acan.isAele=function(d){
	if(Acan.isObj(d) && d.Aele===1) return true;
	else return false;
}
Acan.isJSON=function(s){
	var pi,p=['[','{','"'],e=[']','}','"'],rs=false;
	if(this.isStr(s) && s.length>1){
		pi=p.indexOf(s.substr(0,1));
		if(pi>=0 && s.substr(-1)==e[pi]) rs=true;
	}
	return rs;
}

这代码,估计没人敢去吧、、、、、、、

@i5ting 代码有什么问题?这些都是js的函数扩充,underscore、jquery、zepto这些基础库实现方式也是类似的,而且这些主流的函数库居然不支持严格判断对象和数组,Acan.isArr与Acan.isObj就是严格区分的

@abans 不专业啊

  • 编码风格完全没有,多少要加点空格吧
  • plain old object写成这样也是醉了
  • 没命名空间也就算了
  • oo也太土

@i5ting oo是对于复杂的处理用的,基础函数库当然要用静态类,可以方便的直接用,像并发处理的就要封装成类了。合适的地方用合适的方式,并不一定要oo,静态函数的效率肯定比oo要快

回到顶部