AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > JavaScript

不同js异步函数同步的实现方法

51自学网 http://www.wanshiok.com
js,同步,异步

不同函数达到同步的函数模拟

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>

以上这篇不同js异步函数同步的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持wanshiok.com。


js,同步,异步  
上一篇:动态更新highcharts数据的实现方法  下一篇:前端学习笔记style,currentStyle,getComputedStyle的用法与区别