Javascript异步数据的同步处理方法
数据处理方法封装
var DataWatch=(function(){var gWatch={},cursor= 0,callback_key = 'callback',gMap={};var check=function(cursor,name){var _watcher=gWatch[cursor],itemCount = 0,resArr=[],flag=false;if(!!map){return;}if(name && typeof (_watcher[name]) === undefined){return;}for(var key in _watcher){if(key === callback_key){continue;}if(gMap[key]){_watcher[key]=true;resArr.push(map[key]);}itemCount++;}if(resArr.length === itemCount){_watcher[callback_key] && _watcher[callback_key].apply(this,resArr);}resArr=null;};return {watch:function(name,callback){//兼容watch单个内容if(typeof(name) === 'string' ){name=[name];}var _watcher={};name.forEach(function(item){_watcher[item]=false;})_watcher[callback_key]=callback;cursor++;gWatch[cursor]=_watcher;check(cursor);},put:function(key,value){gMap[key]=value;for(var cursor in gWatch){check(cursor,key);}}}})()
使用方法可以下面这样
func1.ajaxSucc:DataWatch.put(key1,value1) func2.ajaxSucc:DataWatch.put(key2,value2) func3.ajaxSucc:DataWatch.put(key3,value3)DataWatch.watch([key1,key2],function(value1,value2){ })DataWatch.watch([key1,key3],function(value1,value3){ })
转载于:https://www.cnblogs.com/GongQi/p/5059890.html
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
