`

利用setTimeout方法控制JS中方法的执行顺序

 
阅读更多

JS方面中有A和B方法,B必须在A执行完之后才能执行,怎么保证呢?

1、首先设一个标志(isAFinish),用来标识A是否执行完。

2、B方法执行的时候,判断

Java代码 复制代码
  1. var  isAFinish=false;   
  2. var loadBCount=0;   
  3. function A(){   
  4.   
  5. ……   
  6. isAFinish =true;   
  7. }    
  8.   
  9. function B(){   
  10.   
  11.     if(loadBCount>3){   
  12.         return;   
  13.         }   
  14.     if(!isAFinish ){   
  15.         loadBCount=loadBCount+1;   
  16.         setTimeout("B()",180);     
  17.          return;   
  18.         }   
  19.                  ……   
  20.   
  21. }  
var  isAFinish=false;
var loadBCount=0;
function A(){

……
isAFinish =true;
} 

function B(){

	if(loadBCount>3){
	  	return;
	  	}
	if(!isAFinish ){
		loadBCount=loadBCount+1;
		setTimeout("B()",180);  
		 return;
		}
                 ……

}

 是否为true,如果不为true,则setTimeout延迟执行B。

3、定义一个全局变量(bLoadCount),用来标识B方法的加载次数,如果超过最大次数,则不使用setTimeout()执行B

分享到:
评论

相关推荐

    js中settimeout方法加参数.docx

    ### JavaScript中的`setTimeout`方法详解 在JavaScript编程中,`setTimeout`是一个非常实用且重要的功能,它用于在指定的时间间隔后执行某个函数或指定的一段代码。本文将深入探讨`setTimeout`方法及其参数的使用...

    Javascript定时器 三 setTimeout func 0

    同时,由于其依赖于事件循环,执行顺序可能并不确定,因此在编写依赖于特定执行顺序的代码时要特别小心。 总结,`setTimeout(func, 0)`并非立即执行,而是将`func`放入任务队列等待执行。理解和合理使用这一特性...

    围绕setTimeout的一个微型28字节Promise封装

    这使得异步代码更易于理解和维护,特别是在处理多个异步操作时,可以利用Promise的`.then`链式调用来按顺序执行任务。 不过,需要注意的是,虽然这个微型Promise封装在某些情况下非常实用,但它并不包含错误处理...

    执行一个操作2秒后执行另一个操作.rar

    在IT领域,我们经常需要控制程序执行的顺序和时间间隔,以便实现特定的功能或优化性能。"执行一个操作2秒后执行另一个操作"这个主题涵盖了编程中的异步处理、定时器以及事件驱动编程等概念。下面将详细阐述这些知识...

    如何让动态插入的javascript脚本代码跑起来

    在JavaScript编程中,动态插入脚本是一种常见的技术,用于在页面加载后或者根据某些条件按需加载外部的JavaScript文件。这种技术在处理大型应用、优化页面性能或实现异步加载时非常有用。本文将详细介绍如何让动态...

    js基于setTimeout与setInterval实现多线程

    当涉及到页面加载完成后的执行顺序问题时,可以通过在`window.onload`事件中使用`setTimeout`来安排代码的执行顺序。`window.onload`是当页面所有资源(如图片、样式表等)加载完成后触发的事件。通过在这个事件处理...

    Javascript异步编程的4种方法

    以上介绍了JavaScript中常用的四种异步编程方法:回调函数、事件监听器、发布/订阅模式以及Promise。每种方法都有其特点和适用场景,开发者可以根据实际需求选择最适合的方案。随着ES6及更高版本标准的推出,原生...

    js定时器实例红绿灯效果网页

    在JavaScript中,有两个主要的定时器方法:`setTimeout()` 和 `setInterval()`. `setTimeout()` 用于在指定的毫秒数后执行一次函数,而 `setInterval()` 则会每隔一定时间重复执行某个函数。在这个红绿灯例子中,...

    pqueue利用并发控制的Promise队列

    在JavaScript开发中,异步操作是常见的编程场景,如网络请求、文件读写等。为了高效地管理这些异步任务并避免资源的过度消耗,我们可以使用并发控制工具,比如`p-queue`库。`p-queue`是一个基于Promise的队列实现,...

    详解promise.then,process.nextTick, setTimeout 以及 setImmediate的执行顺序

    本文将详细解释promise.then、process.nextTick、setTimeout以及setImmediate的执行顺序,这要求我们首先了解这两类任务队列的区别以及它们在事件循环中的位置。 macro-task(宏任务)包括:script(整体代码)、...

    如何通过setTimeout理解JS运行机制详解

    实际上,JavaScript的执行顺序遵循特定的机制。 JavaScript引擎在运行时只有一个主线程,这意味着它一次只能执行一个任务。所有任务分为两类:同步任务和异步任务。同步任务在主线程上按顺序执行,而异步任务则不会...

    jQuery中queue()方法用法实例

    使用queue()方法,我们可以将文本显示的操作加入到动画队列中,让它们按顺序执行,代码如下: ```javascript $("#myButton").click(function() { $(".message").fadeIn(500).queue(function(next) { $(this).text...

    JavaScript基础练习_day4

    这种方法同样利用了IIFE来保证每次`setTimeout`中的`i`值独立,并通过调整延时时间来控制输出顺序。 - **解法3:利用ES6的`Promise`** ```javascript const tasks=[]; const output=(i)=> new Promise(...

    JavaScript 中的异步模式【APICloud教程】

    JavaScript中常见的异步编程方法有以下四种: 1. 回调函数:这是最基础的异步处理方式,就像上述示例所示,将处理逻辑作为参数传递给异步操作。 2. 事件监听/事件驱动:通过注册事件监听器,当特定事件发生时,...

    JavaScript优化方法.doc

    JavaScript 优化方法 本文将详细讲解 JavaScript 优化方法,以提高网站性能。作为一名网站开发 Web 前端工程师,对自己开发的网站项目应该尽可能地对其性能进行优化。本文将着重分析 JavaScript 的优化细节。 一、...

    JavaScript代码执行的先后顺序问题

    理解JavaScript的执行顺序是理解代码行为的关键。JavaScript的代码执行可以分为两个阶段:代码检查装载阶段(预编译阶段)和代码执行阶段。 在代码检查装载阶段,JavaScript引擎会进行变量和函数声明,但不会执行...

    如何提升JavaScript的运行速度(循环篇).doc

    评估循环中数据是否需要按顺序执行。如果数据间的依赖关系不强,可以考虑并行处理或分批处理。例如,使用`chunk()`函数可以实现数据的异步分批处理,避免一次性处理整个数组。 4. **优化循环结构**: 使用更高效...

    js动画效果

    例如,利用Promise链式调用来顺序执行多个动画步骤,或者用async函数来控制异步动画的流程。 六、性能优化 1. 减少DOM操作:频繁的DOM操作是性能杀手,应尽量减少操作次数,比如批量更新或使用`innerHTML`一次性...

Global site tag (gtag.js) - Google Analytics