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

 更新时间:2016年05月28日 14:37:34   投稿:jingxian  
下面小编就为大家带来一篇不同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异步函数同步的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使用JavaScript和HTML5实现表单验证功能

    使用JavaScript和HTML5实现表单验证功能

    表单验证是Web开发中不可或缺的一部分,它确保用户输入的数据符合预期格式和要求,通过客户端验证,我们可以提高用户体验,减少不必要的服务器请求,然而,客户端验证并不能替代服务器端验证,所以本文将介绍如何使用JavaScript和HTML5实现强大的表单验证,需要的朋友可以参考下
    2025-05-05
  • JavaScript高阶函数_动力节点Java学院整理

    JavaScript高阶函数_动力节点Java学院整理

    这篇文章主要介绍了JavaScript高阶函数,详细讲解了什么是高阶函数和高阶函数的用法,有兴趣的可以了解下
    2017-06-06
  • json与jsonp知识小结(推荐)

    json与jsonp知识小结(推荐)

    这篇文章主要介绍了json与jsonp知识小结(推荐)的相关资料,需要的朋友可以参考下
    2016-08-08
  • window.open打开新页面失效解决方案

    window.open打开新页面失效解决方案

    这篇文章主要给大家介绍了关于window.open打开新页面失效的解决方案,移动端和PC端全部通过window.open()来跳转页面窗口,文中给出了详细的解决方案,需要的朋友可以参考下
    2023-07-07
  • JavaScript瀑布流布局实现代码

    JavaScript瀑布流布局实现代码

    这篇文章主要为大家详细介绍了JavaScript瀑布流布局的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • 解决 viewer.js 动态更新图片导致无法预览的问题

    解决 viewer.js 动态更新图片导致无法预览的问题

    Viewer.js 是一款强大的图片查看器,这篇文章主要介绍了解决 viewer.js 动态更新图片导致无法预览的问题 ,需要的朋友可以参考下
    2019-05-05
  • JS中三种URI编码方式对比分析

    JS中三种URI编码方式对比分析

    这篇文章主要介绍了JS中三种URI编码方式对比分析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-01-01
  • JavaScript高级教程之如何玩转箭头函数

    JavaScript高级教程之如何玩转箭头函数

    箭头函数是在es6中添加的一种规范,箭头函数相当于匿名函数,简化了函数的定义,下面这篇文章主要给大家介绍了关于JavaScript高级教程之如何玩转箭头函数的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • JavaScript中定时器setTimeout()和setInterval()的用法

    JavaScript中定时器setTimeout()和setInterval()的用法

    本文详细讲解了JavaScript中定时器setTimeout()和setInterval()的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 一些手写JavaScript常用的函数汇总

    一些手写JavaScript常用的函数汇总

    这篇文章主要给大家介绍了一些手写的JavaScript常用的函数,文中通过示例代码介绍的非常详细,对大家学习或者使用JavaScript具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04

最新评论