js 并行执行同步工具

原创
2015/01/11 08:54
阅读数 144
function MultiReady(taskNames,successCB,errorCB){
	this.successCB = successCB;
	this.errorCB = errorCB;
	this.taskNames = taskNames;
	this.ret = {};
}
MultiReady.prototype.addTaskReady = function(taskName,value,error){
	if(error){
		this.errorCB(error,this.ret);//增加数据
	}else{
		this.ret[taskName] = value;
		var i = 0 ,len = this.taskNames.length;
		var complete = true;
		for( ; i < len ; i ++ ) {
			if(!this.ret.hasOwnProperty(this.taskNames[i])){
				complete = false;
			}
		}
		if(complete){
			this.successCB(this.ret);
		}
	}
};

使用的时候,是这样的:

var dataReady = new MultiReady(['servicePackages','serviceOrderTimes','domReady'],onReady);
	$.get(url,function(){
	    dataReady.addTaskReady('servicePackages',true);
	})
	$.get(url,function(){
	    dataReady.addTaskReady('serviceOrderTimes',true);
	})
		
    $(function(){
        dataReady.addTaskReady('domReady',true);
    });
    function onReady(ret){
        
    }



展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部