首页 > 编程 > JavaScript > 正文

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

2019-11-20 09:52:14
字体:
来源:转载
供稿:网友

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

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异步函数同步的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表