setTimeout 循环。如何获得正确的订单

2023-12-12

我试图在循环中调用一个函数以实现不同的超时或延迟。

for (var i = 0; i < 10; i++) {        
  callDelayedFunction(i);
}

function callDelayedFunction(i) {
  setTimeout(function () {
    console.log(i);        
  }, getRandomInt(1500, 4500) * i);
}

I expect

1,2,3,4,5,6,7,8,9

但我得到

1,2,3,4,7,8,5,6,9

我该如何解决这个问题?


这是一种方法,使用async/await:

function callDelayedFunction(i) {
  return new Promise(resolve => {
    setTimeout(function() {
      console.log(i);
      resolve();
    }, getRandomInt(1500, 4500) * i);
  })

}

function getRandomInt(min, max) {
  return Math.floor(Math.random() * (max - min)) + min;
}

async function run() {
  for (var i = 0; i < 10; i++) {
    await callDelayedFunction(i);
  }
}

run();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

setTimeout 循环。如何获得正确的订单 的相关文章

  • 在 Cordova 中合并文件的多个部分

    在我的 Cordova 应用程序中 我正在下载任意文件 例如图像或视频文件 这是通过 Cordova 文件传输插件和 Range 标头完成的 因为我需要分段下载文件 我的问题是 我想将几 个小 字节 文件合并回原来的文件中 他们曾经在其中使
  • html 图像 src 调用 javaScript 变量

    这是我的代码 我想问 我怎样才能做到这一点 img src img apple 我一直在尝试使用 call 函数和 document onload 但它根本不起作用 有人可以救我吗 我假设你只是想用 javascript 更新图像 src
  • 为动态加载的 HTML 内容触发 Bootstrap JS 行为

    我正在动态加载包含 Bootstrap 标记的 HTML 模板 但是 Bootstrap Javascript 行为不会应用于加载的内容 例如 如果加载的内容包含 Bootstrap 模式的标记 则该模式将无法正确运行 有没有办法可以触发
  • jslint 配置 |传递全局变量

    我如何提醒 jshint 我有全局变量 即命名它们 我知道你可以做到这一点 但我不记得语法了 我在这里定义了一个全局的 function window glob1 local var 稍后像这样使用 不同的 IIFE function gl
  • 如何防止输入文本中出现“后重音”

    我相信这是一个简单的问题 但在谷歌上搜索几个小时后我找不到任何答案 也许我无法在搜索中使用正确的单词 P 我有一个 javascript 方法 可以防止用户用数字以外的其他字符填充文本框 如下面的代码所示 它在 KeyDown 事件中使用
  • 未捕获的异常:数据表编辑器 - 不允许远程托管代码

    我正在尝试使用 Datatables 使用 datatableseditor 来实现 CRUD 操作 但是我收到错误消息 1 未捕获的异常 数据表编辑器 不允许远程托管代码 请参见http editor datatables net有关如何
  • Jquery.Validate - 基于哪个选项卡添加/删除规则

    我有一个 Bootstrap 4 选项卡式界面 每个选项卡上都有输入框 我想允许用户根据他们所在的选项卡输入不同的必填字段 因此我希望根据该选项卡添加或删除验证 无论用户位于哪个选项卡 还有一些强制输入 我所做的是创建一个默认验证函数 添加
  • 如何绕过Access-Control-Allow-Origin?

    我正在一个平台上对我自己的服务器进行ajax调用 他们设置了阻止这些ajax调用的平台 但我需要它从我的服务器获取数据以显示从我的服务器数据库检索到的数据 我的 ajax 脚本正在运行 它可以将数据发送到我的服务器的 php 脚本以允许其处
  • 如何在打字稿中使用外部js

    我通过 Typescript 代码生成 Angular JS 代码 在一种情况下 我需要将外部 JS 文件添加到我的打字稿文件中 并且需要访问 js 文件中的类 我像这样添加js文件
  • Javascript location.href 到 mailto 触发 GET HTTP,该 HTTP 在 Chrome 中被取消

    我有一个按钮可以触发以下 javascript 函数 function sendEmail var mail mailto email protected cdn cgi l email protection location href m
  • 如何在 Chrome 中获取 div 上的 keydown 事件?

    我想在 div 上获取 keydown 事件 我使用 JQuery keydown 很简单 但是 它不适用于 Chrome 为了在 chrome 上工作 我必须设置 tabindex 0 如果我这样做 Chrome 会在我的 div 周围放
  • ES6 静态方法引用 self? [复制]

    这个问题在这里已经有答案了 我有两节课 存储库和用户存储库 我想在 Repository 中定义一个静态方法 该方法在运行时调用 UserRepository 中的静态函数 有什么干净的方法可以做到这一点吗 class Repository
  • 如何使用 jQuery 从 REST xml 响应构建数据表?

    我有来自 Ajax REST 调用的 XML 响应 与下面的类似
  • 此版本的 CLI 仅与 Angular 版本 5.0.0 或更高版本兼容错误

    我已经有 Angular 项目在 4 版本中运行 在安装新项目时 不幸的是我安装了 6 版本的 Angular cli 在以 4 版本运行的旧项目中运行 ngserve 命令时 这会引发错误 您的全局 Angular CLI 版本大于本地版
  • 如何将项目插入到特定索引处的空数组中?

    我想将一个项目插入到空数组的指定索引中 我看到有 Array prototype splice 方法 但是 如果我在空数组上使用 splice 它只会添加项目来结束数组 如下所示 var a a splice 3 0 item 3 cons
  • 根据文本内容从 jquery 对象中过滤元素

    我正在尝试使用contains带有 this 关键字 但它给出了错误 JS function var check ul find li filter function return this contains two css color r
  • 如何将数据推送到嵌套对象

    如何将另一个元素推入variables来自以下对象的属性 var request name Name id 3 rules name Rule name tags tagId 1 variables variable var1 matchT
  • 在 Meteor 应用程序中实现 MongoDB 2.4 的全文搜索

    我正在考虑向 Meteor 应用程序添加全文搜索 我知道 MongoDB 现在支持此功能 但我对实现有一些疑问 启用文本搜索功能的最佳方法是什么 textSearchEnabled true 在 Meteor 应用程序中 有没有办法添加索引
  • ‘state’未定义 no-undef

    我使用教程来学习 React 但我很快就陷入困境 在教程中 他们使用以下代码 import React Component from react class Counter extends Component state count 0 r
  • highchart堆积柱每个类别的总数据

    我想获取每个类别的总数据 这point stackTotal只给出活动数据的总数 从我粘贴的代码示例中 我想知道每种水果的总消耗量 因此 即使我单击右上角图例上的乔的名字 这使得堆叠图表上的所有乔信息都处于非活动状态 我仍然可以知道约翰 简

随机推荐

  • 从 GCP 连接到 Azure SQL 时出现 NoClassDefFoundError com/microsoft/aad/adal4j/AuthenticationException

    我的 Spark 项目位于 GCP 中的 data proc 上 并在 Spark 提交上运行驱动程序 当我尝试连接到 Azure SQL DB 时 它抛出以下异常 20 39 15 DOCKER Exception in thread m
  • 为什么无序流比有序流更快?

    我正在阅读 Richard Warburton 所著的 Java 8 书籍 并得出以下结论 某些操作在有序流上的成本更高 这个问题可以 可以通过消除排序来解决 为此 请调用流的unordered方法 我对此感到非常困惑 假设我们有Strea
  • Pandas 反向分割函数

    我有一个 Pandas Dataframe 其中有一列 如下所示 Car Make 0 2017 Abarth 124 Spider ManualConvertible 1 2017 Abarth 124 Spider AutoConver
  • 已过时 - 关键帧之间的 FFMPEG 解码伪影

    将问题标记为过时 因为使用已弃用的 avcodec decode video2 I m currently experiencing artifacts when decoding video using ffmpegs api On wh
  • 在 Tkinter 上显示标签一段固定的时间

    我正在使用 Tkinter 在 Python 2 7 中创建一个 GUI 应用程序 我有这段代码 vis Label pur text Purchase Added successfully font 8 vis place x 150 y
  • 如何将 Intel 80386 机器代码转换为汇编语言?

    我被赋予以下任务 考虑以下十六进制值序列 55 89 E5 83 EC 08 83 E4 F0 31 C9 BA 01 00 00 00 B8 0D 00 00 00 01 D1 01 CA 48 79 F9 31 C0 C9 C3 该字节
  • 将表 A 中的行移动到表存档中

    是否可以每周自动将 3 天前的行移动到 mysql 中另一个名为 Table Archive 的表中 表A例如 ID stringvalue Timestamp 1 abc 2011 10 01 2 abc2 2011 10 02 3 ab
  • JPA/Hibernate 提高批量插入性能

    我有一个数据模型 该模型在 1 个实体和 11 个其他实体之间具有一对多关系 这12个实体一起代表一个数据包 我遇到的问题与这些关系的 多 侧发生的插入数量有关 其中一些可以有多达 100 个单独的值 因此要将整个数据包保存在数据库中 最多
  • git如何存储文件?

    我刚刚开始学习 git 为此我开始阅读Git 社区书籍 在这本书中他们说SVN和CVS存储文件之间的差异 而git存储所有文件的快照 但我不太明白他们所说的快照是什么意思 git 真的会在每次提交时生成所有文件的副本吗 因为这就是我从他们的
  • C++ 随机数

    在以下情况 http www fredosaurus com notes cpp misc random html 它提到如果我们想生成一个范围内的随机数1 10 我们可以执行以下操作 r rand 10 1 为什么我们要添加1 您能解释一
  • iPhone URL 编码问题

    有一个小问题 尝试将 XML 发布到服务器 为此 我必须以 URL 格式对 XML 字符串进行编码 NSString encodedString NSString stringWithFormat xmlValue post stringB
  • Bash Shell:无法使用变量 $ 作为运行 tar 的路径

    这是一个非常简短的问题 但是放置变量是否存在语法错误 example作为 bash 文件中 tar 的参数 我将文件写为 only portion that really matters bin bash tar cvpzf filenam
  • ItemCommand 在 Repeater 或 GridView 中第一次单击时不会触发

    这两天已经让我发疯了 希望有人以前见过这个 我遇到这样的问题 第一次单击中继器或网格视图中的控件无法触发 ItemCommand 事件 但所有后续单击都有效 控件被加载到 Base aspx 上的占位符中 如下所示 private void
  • Cordova Web视图在android中清除缓存

    我正在尝试清除存储在使用 cordova webview 的 android 应用程序中的缓存 我尝试过cordovaWebView clearCache true 还尝试过 public void deleteCache Context
  • uintptr_t 数据类型是什么?

    What is uintptr t它可以用来做什么 首先 在提出问题时 uintptr t不是用C 写的 它在 C99 中 在
  • 如何在 Android 中将颜色 LUT 应用于位图图像以获得滤镜效果?

    这里我有一个关于 android 中的 LUT 的问题 我的问题是 我有 4X4 LUT 使用这些 LUT 对 Android 中的位图图像应用滤镜效果 下面是我的示例 LUT 文件链接 Lut 链接示例 在安卓上可以实现吗 如果可以的话请
  • 如何在 Eclipse Juno/Kepler/Luna CDT 中启用 C++11?

    编辑 事实证明这确实不是 Eclipse Kepler 特有的 我必须对 Eclipse Juno 使用相同的过程 问题是 在回答同一问题的其他帖子中似乎缺少步骤 我正在使用 Eclipse Kepler for C 并尝试使用 C 11
  • 在 Linux 中混合使用 32 位和 64 位库 (gcc)

    我有一个为 Linux 使用 gcc 构建的 32 位纯二进制 C so 由供应商提供 我需要链接到 64 位 C C 应用程序 我正在开发 有什么方法可以从我的应用程序访问这个库吗 我知道需要小心处理 so 内部函数的参数和指针 而且我知
  • 如何将向量转换为Json对象? C++

    我有一个 RoomData 对象向量 这是该对象 typedef struct RoomData unsigned int id std string name std string maxPlayers unsigned int ques
  • setTimeout 循环。如何获得正确的订单

    我试图在循环中调用一个函数以实现不同的超时或延迟 for var i 0 i lt 10 i callDelayedFunction i function callDelayedFunction i setTimeout function