博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Javascript异步数据的同步处理方法
阅读量:5940 次
发布时间:2019-06-19

本文共 1991 字,大约阅读时间需要 6 分钟。

数据处理方法封装

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

你可能感兴趣的文章
mac navicat premium 使用技巧
查看>>
default.html
查看>>
课本学习笔记5:第七章 20135115臧文君
查看>>
C# 导出word文档及批量导出word文档(2)
查看>>
最大子数组
查看>>
网站(陆续更新)
查看>>
17个提升iOS开发效率的神器
查看>>
android 3.0+百度地图api地图如何移动到指定的经纬度处
查看>>
点权生成树(gentree)
查看>>
[POJ 3270]Cow Sorting
查看>>
Mysql分析-profile详解
查看>>
WebServiceHost 在ConsoleApplication中使用时添加命名空间添加不上,报错
查看>>
《蚁贼》
查看>>
王工的权限理解
查看>>
最大的算式
查看>>
让PHP更快的提供文件下载 【转】
查看>>
Oauth2认证以及新浪微博开放平台应用
查看>>
BZOJ1861:[ZJOI2006]书架(Splay)
查看>>
BZOJ2301:[HAOI2011]Problem b(莫比乌斯反演,容斥)
查看>>
HIVE-ORC表一些知识点
查看>>