javascript 多步处理,根据javascript高性能一书自己封装的一个多步处理函数对象
来源:互联网 发布:淘宝市场行情 编辑:程序博客网 时间:2024/06/07 03:51
var multiStep = {};multiStep.addStep = function(step,scope,args){this.steps = this.steps || [];args = args || [];scope = scope || window;var tmpObj = [step,scope,args];this.steps.push(tmpObj);};multiStep.run = function(interval,callback){var time = !!interval&&interval>25 ? interval:25;var steps = this.steps;setTimeout(function(){var step = steps.shift();if(!!step){var func = step[0];var scope = step[1];var args = step[2];if(!!func && typeof func === "function"){func.apply(scope,args);}}if(steps.length>0){setTimeout(arguments.callee,time);}else{if(!!callback){callback();}}},interval);};
使用
function a (){alert("a");};function b (b){alert("b " + b);};function c (c,d){alert("c " + c + " " + d);};function d (d){alert("d");};multiStep.addStep(a,this);multiStep.addStep(b,this,[100]);multiStep.addStep(c,this,["OK","yes"]);multiStep.addStep(d,this,["no"]);multiStep.run(100);
如此调用的话,就会每隔100秒后向javascrip处理队列加入一个函数去执行,每个函数之间就有100毫秒的空余时间来让UI线程得到空闲,让UI线程得到释放去处理一下UI上的改变。
- javascript 多步处理,根据javascript高性能一书自己封装的一个多步处理函数对象
- 数据库的八步处理
- javascript事件处理封装
- 单步调试javascript
- JavaScript单步调试
- JavaScript对象数组的处理
- HTML5/JavaScript 图像边缘羽化— 打造图像处理类库第二步
- 使用javascript处理url的简单封装
- Javascript 面相对象与函数处理的疑惑
- javascript 日期Date对象处理函数
- JavaScript 错误处理和函数对象
- JavaScript之错误处理,函数对象
- 飓风数据 一个时间步的处理
- 安卓异步处理的使用AsyncTask
- 关于http 缓存处理的步奏
- javascript 处理List 对象
- javascript处理Ajax对象
- javascript 对象属性处理
- Eclipse插件大全 挑选最牛的TOP30
- linux获取文件大小[c]
- 程序设计思想及范例(1)求和/求积问题
- 丰田造世界首辆意志控制变速自行车
- VMware vSphere 5.0 五大改变
- javascript 多步处理,根据javascript高性能一书自己封装的一个多步处理函数对象
- 根据树的两种遍历序列求第三种遍历序列
- hdu 5.1.8 How Many Answers Are Wrong
- MFC积累---20111123 MFC与MySql的链接 VS2008
- 插件
- SQL2008 之压缩表
- zoj 2110
- php.ini中Magic_Quotes_Gpc开关设置
- 程序设计思想及范例(2),遍历问题,字符统计问题