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


Posted in Javascript onMay 28, 2016

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

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

Javascript 相关文章推荐
关于viewport,Ext.panel和Ext.form.panel的关系
May 07 Javascript
Extjs4 GridPanel的主要配置参数详细介绍
Apr 18 Javascript
基于Unit PNG Fix.js有时候在ie6下不正常的解决办法
Jun 26 Javascript
JS小功能(onmouseover实现选择月份)实例代码
Nov 28 Javascript
谷歌浏览器不支持showModalDialog模态对话框的解决方法
Sep 22 Javascript
小巧强大的jquery layer弹窗弹层插件
Dec 06 Javascript
JavaScript数据结构与算法之栈与队列
Jan 29 Javascript
JavaScript判断变量是否为数组的方法(Array)
Feb 24 Javascript
Extjs 点击复选框在表格中增加相关信息行
Jul 12 Javascript
在 React、Vue项目中使用SVG的方法
Feb 09 Javascript
js中值引用和地址引用实例分析
Jun 21 Javascript
手把手教你从零开始react+antd搭建项目
Jun 03 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
May 28 #Javascript
浅谈jQuery 中的事件冒泡和阻止默认行为
May 28 #Javascript
jquery取消事件冒泡的三种方法(推荐)
May 28 #Javascript
深入理解事件冒泡(Bubble)和事件捕捉(capture)
May 28 #Javascript
jqueryMobile 动态添加元素,展示刷新视图的实现方法
May 28 #Javascript
jQuery Mobile动态刷新页面样式的实现方法
May 28 #Javascript
JQuery EasyUI Layout 在from布局自适应窗口大小的实现方法
May 28 #Javascript
You might like
WordPress中&quot;无法将上传的文件移动至&quot;错误的解决方法
2015/07/01 PHP
PHP token验证生成原理实例分析
2019/06/05 PHP
重定向实现代码
2006/11/20 Javascript
用javascript实现读取txt文档的脚本
2007/07/20 Javascript
js实现GridView单选效果自动设置交替行、选中行、鼠标移动行背景色
2010/05/27 Javascript
JSON语法五大要素图文介绍
2012/12/04 Javascript
无缝滚动改进版支持上下左右滚动(封装成函数)
2012/12/04 Javascript
window.addEventListener来解决让一个js事件执行多个函数
2012/12/26 Javascript
js对象与打印对象分析比较
2013/04/23 Javascript
jquery实现商品拖动选择效果代码(自写)
2013/05/28 Javascript
JavaScript 学习笔记之操作符(续)
2015/01/14 Javascript
浅谈jquery回调函数callback的使用
2015/01/30 Javascript
jQuery  ready方法实现原理详解
2016/10/19 Javascript
Bootstrap模态框(Modal)实现过渡效果
2017/03/17 Javascript
微信小程序之获取当前位置经纬度以及地图显示详解
2017/05/09 Javascript
Vue.js 中的 $watch使用方法
2017/05/25 Javascript
jquery图片放大镜效果
2017/06/23 jQuery
深入理解React中何时使用箭头函数
2017/08/23 Javascript
js实现随机8位验证码
2020/07/24 Javascript
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
2019/08/27 Javascript
js刷新页面location.reload()用法详解
2019/12/09 Javascript
js判断非127开头的IP地址的实例代码
2020/01/05 Javascript
Element Popover 弹出框的使用示例
2020/07/26 Javascript
利用Python获取操作系统信息实例
2016/09/02 Python
详解Python中的静态方法与类成员方法
2017/02/28 Python
Python机器学习k-近邻算法(K Nearest Neighbor)实例详解
2018/06/25 Python
Python实现带下标索引的遍历操作示例
2019/05/30 Python
通过Python编写一个简单登录功能过程解析
2019/09/04 Python
pytorch制作自己的LMDB数据操作示例
2019/12/18 Python
Python 格式化输出_String Formatting_控制小数点位数的实例详解
2020/02/04 Python
python 合并多个excel中同名的sheet
2021/01/22 Python
美国豪华时尚女性精品店:Kirna Zabête
2018/01/11 全球购物
违反校纪校规检讨书
2014/02/15 职场文书
乡镇纠风工作实施方案
2014/03/22 职场文书
小学生民族团结演讲稿
2014/08/27 职场文书
Mysql分库分表之后主键处理的几种方法
2022/02/15 MySQL