不同js异步函数同步
2016-05-01 15:06
555 查看
不同函数达到同步的函数模拟
funcList是函数执行函数的队列,其中回调函数中flag=true是同步标记量
funcList是函数执行函数的队列,其中回调函数中flag=true是同步标记量
<script> var flag = false; function funcTest(t,func){ setTimeout(function(){ (function(param){ console.log(param); func(); }(t)); },t*1000); } var funcList = []; funcList.push(function(){funcTest(4,function(){ flag = true;//同步标记量 })});//不同的异步函数添加进队列 funcList.push(function(){funcTest(3,function(){ flag = true; })});//不同的异步函数添加进队列 funcList.push(function(){funcTest(2,function(){ flag = true; })});//不同的异步函数添加进队列 dealFuncSync(funcList); function dealFuncSync(funcList){ function callBackSync(){ if(!funcList||funcList.length==0){ console.log('end'); return; } flag = false; funcList.shift()(); setTimeout(function(){ if(flag) {//控制队列函数同步 callBackSync(); }else{ setTimeout(arguments.callee,100); } },100); } callBackSync(); } </script>
相关文章推荐
- 开启Visual Studio 2013时,出现Microsoft.VisualStudio.Web.PasteJson.JsonPackage无法载入的可能解決方案
- JavaScript学习笔记
- js解析xml文件
- Ubuntu14.04 jsoncpp搭建
- Web组件跳转和JSP
- 备忘:js正则表达式中的元字符
- JSON
- VS2015 未能正确加载 JavascriptWebExtensionsPackage
- JS实现左右无缝轮播图代码
- JavaScript中的继承之类继承
- JavaScript函数
- <javascript>this不同调用模式引起的问题,函数内部调用函数this无效
- JavaScript进阶(十)Array 数组详解
- JavaScript进阶(十)Array 数组详解
- jsp的几种注释
- js中的继承2--原型继承
- js中的继承1--类继承
- JS实现信息的显示和隐藏
- JS实现信息的显示和隐藏
- 用JS写原生的选项卡