JavaScript 是多线程的吗?

2023-12-08

这是我的问题 - 我需要使用 jQuery.getScript() 动态下载多个脚本并执行某些JavaScript加载所有脚本后的代码,所以我的计划是做这样的事情:

function GetScripts(scripts, callback)
{
  var len = scripts.length
  for (var i in scripts)
  {
    jQuery.getScript(scripts[i], function() 
    {
      len --;
      // executing callback function if this is the last script that loaded
      if (len == 0)
        callback()  
    })
  }
}

只有当我们假设每个脚本的 script.onload 事件触发并按顺序同步执行时,这才会可靠地工作,因此永远不会出现两个或多个事件处理程序通过 (len == 0) 检查并执行的情况回调方法。

所以我的问题 - 这个假设是否正确,如果不正确,实现我想要做的事情的方法是什么?


不,JavaScript 不是多线程的。它是事件驱动的,您将看到事件按顺序触发的假设(假设它们按顺序加载)。您当前的实现似乎是正确的。我相信 jQuery 的.getScript()注入一个新的<script>标签,这也应该强制它们以正确的顺序加载。

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

JavaScript 是多线程的吗? 的相关文章

  • Javascript 作为对象键的函数与块中标记函数之间的语法冲突

    假设您有一个支持两者的浏览器带标签的函数声明 https developer mozilla org en US docs Web JavaScript Reference Statements label Labeled function
  • onClick 处理程序在每个渲染周期触发

    我有这样的默认状态 this state selectedTab tab1 then 我的渲染方法是这样的 render const selectedTab this state return li tab1 li li tab2 li d
  • Apache Thrift Java-Javascript 通信

    我正在编写一个基于 Apache Thrift 的 Java 服务器 它将从 Javascript 客户端接收数据 我已经完成了 Java 服务器 但问题是我可以获得 Javascript 客户端的工作示例 我无法找到一个好的示例 构建文档
  • 如何将一个数组中的所有项目复制到另一个数组中?

    如何将数组的每个元素 其中元素是对象 复制到另一个数组中 以便它们完全独立 我不想更改一个数组中的元素来影响另一个数组 这里的关键是 数组中的条目是对象 并且 您不希望对一个数组中的对象的修改显示在另一个数组中 这意味着我们不仅需要将对象复
  • Razor mvc3 + jquery + Url 操作 + 部分视图

    我有一个关于 jQuery Razor 的问题 我想使用 razor 和 Url Action 构建一个 javascript 变量 并且 html 属性将是输入的值 像这样 var d1 d1 val var d2 d2 val var
  • 取消选择所有复选框后,客户端过滤器显示所有项目

    加载时 复选框将取消选中 并显示所有列表项 当选中过滤器时 将显示相关的列表项 我遇到的问题是 当您再次取消选中所有复选框时 我需要显示所有项目而不是隐藏 这是我的小提琴 http jsfiddle net amesy B9Hnu 124
  • 通过 JavaScript 单击按钮/页面提交

    我想了解 asp net 框架如何知道何时单击了按钮 因此一旦收到请求 就会在服务器上触发其单击事件 我需要了解它是如何工作的 因为我想从 JavaScript 触发按钮的服务器单击事件 我能够从 JavaScript 执行页面提交 doc
  • AngularJS + jQuery 移动

    是否还有其他可能性来设计AngularJS以移动友好的方式应用程序CSS 我正在计划一个移动应用程序 并希望使用 AngularJS 进行逻辑和数据绑定 但我不想自己设计所有内容CSS The AngularJSFAQ说它使用jQuery
  • Angular 4 Http POST 不起作用

    我希望每个人都做得很好 我最近开始使用 Angular 4 4 我一直在尝试将数据发布到我的 api 服务器 但不幸的是它不起作用 我花了大约两天的时间 但仍然没有成功 甚至已经尝试过 6 7 篇文章角 io https angular i
  • 从字节数组设置 img src

    我需要设置img src我在对象中拥有的字节数组的属性 img
  • node.js 模块/导出系统:是否可以将模块导出为函数

    我想在 Dispatch js 中做这样的事情 function handle msg exports handle 这在调用index js中 var dispatch require Dispatch dispatch data 有任何
  • 如何从 CSS 选择器中提取类名?

    故事 我目前正在构建一个 ESLint 规则 以警告在 CSS 选择器定位器中使用引导布局导向和角度技术类 目前我在字符串方法中使用简单的子字符串 for var i 0 i lt prohibitedClasses length i if
  • 在反应中访问回调内的 event.target

    我有以下课程片段 constructor props super props this timeout null search e gt clearTimeout this timeout this timeout setTimeout f
  • WordPress 子主题包括包含文件

    我在一家WordPress使用 AMPPS 作为本地主机在我的本地计算机上进行设置 使用 Delta 主题 我创建了一个子主题 delta2 child 初始设置效果很好 但是 我需要更改包含文件夹中名为 home slider php 的
  • 当php脚本通过ajax运行时显示进度条

    我有一个通过 ajax 向服务器提交值的表单
  • React Redux - 在辅助函数中访问现有存储

    我试图在反应组件之外获取存储实例 存储状态 即在单独的辅助函数中 我有我的减速器 我的动作 我在最上面的组件中创建了一个商店 configStore js import createStore from redux import gener
  • Graphql 将多个查询合并(组合)为一个?

    我正在尝试使用 JavaScript 将多个 GraphQL 查询合并为一个查询 我正在寻找这样的东西 let query3 mergeQueries query1 query2 我们事先不知道哪些查询将被组合 假设我有这样的查询 输入查询
  • 触发 jQuery UI 滑块事件

    如何触发更改事件jQuery UI 滑块 http docs jquery com UI Slider 我以为会是 slider trigger slidechange 但这没有任何作用 完整的示例脚本如下
  • 将 html 文本框的值分配给 div 的标题

    line 1
  • Cycle2 初始化事件未触发

    我使用 Cycle2 作为基本的轮播 我的幻灯片项目有时在其数据中包含一个 url 因此我必须使用 Cycle2 api 事件来使用该 url 当它存在时 我的问题是 虽然 cycle after 事件触发正常 但初始化事件都不会触发 因此

随机推荐

  • iCloud 是否需要在生产环境中才能在生产中使用?

    I added Cloudkit support to my iOS and WatchOS App but I cannot deploy my schema to production due to a bug Do I need to
  • javascript:从回调函数调用对象内部的函数

    当我尝试使用回调函数中的 this 调用对象内部的函数时 会发生错误 指出该方法未定义 我该如何解决这个问题 var object log user pass error message an error occured while con
  • 密码正则表达式必须包含至少 8 个字符,至少 1 个数字、字母和特殊字符

    我需要一个正则表达式 它应该至少有一个数字字符 允许大写和小写字母 也允许特殊字符我正在使用这个表达式 6 10 d a zA Z 但对于最大字符数 10 无效 看来你想要这样的东西 d a zA Z W 6 10 上述正则表达式仅允许 6
  • 选择数据库类型[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 何时使用 bigtabe simpledb 数据库与关系数据库 关系数据库为您提供了更多的布局和查询灵活性 并且更易于使用 但是如果您以后需要对数据进行分区 如果它不适合单个数据
  • 在装饰器模式中添加状态

    我想知道如何向消费者可用的装饰器链添加状态 鉴于这个简化模型 abstract class AbstractPizza public abstract print class Pizza AbstractPizza public int S
  • 将变量设置为“Nothing”是一个好习惯吗?

    If I got Dim myRect As Rectangle New Rectangle 0 0 100 100 Is it 必要的要不就fine稍后执行此操作 myRect Nothing 或者说没有必要 谢谢 IF这是必要的 还有其
  • 将 Pandas 列转换为 DateTime II

    我正在尝试将一列日期时间字符串转换为 Pandas 可理解的日期时间格式 当然 我已经用谷歌搜索并尝试了几种解决方案 将 Pandas 列转换为日期时间 这对我来说似乎是最鼓舞人心的 但两种推荐的方法都不适用于我的数据集 细节 数据集名称
  • Mule SMTP - 发送带有附件的电子邮件

    我正在尝试使用 Mule 3 3 0 并配置 SMTP 端点 该流可以具有文件入站端点和 SMTP 出站端点 另一个流可以有一个 Java 类 该类生成字符串内容 电子邮件正文 并创建一个 CSV 文件 它将尝试将其推送到 SMTP 出站端
  • 如何在 PHP 中对 JSON 数据进行分页?

    我无法从 PHP 直接访问数据库 如果是这样的话 我就可以简单地进行分页了 在这里 我向 PHP Web 服务发送 GET 请求 并以 JSON 形式获取数据库的结果 我有一个表 我想在其中显示数据库值 由于数据库表包含超过1000条记录
  • SonarQube 在主 AST 扫描期间“未找到类”

    我的设置 声纳库5 1 1 Sonar Maven Plugin 2 6 也尝试过2 7和3 6 JDK 1 7 0 51 错误示例 16 00 54 INFO 23 00 54 219 Sensor JavaSquidSensor 16
  • ChromeDriver 76.0.3809.68 使用 SelectByVisibleText 方法引发异常:脚本返回意外结果

    我已将 selenium chromedriver 更新到 76 0 3809 68 现有测试开始因新版本而失败Select webElement selectByVisibleText value 因以下异常而失败 org openqa
  • MPI_Type_create_subarray 和 MPI_Send

    这是我在 stackoverflow 中的第一个问题 我有两个进程 一个根 0 和一个从属 1 从属分配一个 2d 数组 CHUNK ROWS 2 CHUNK COLUMNS 2 并想要发送一个 CHUNK ROWS CHUNK COLUM
  • 将 JSON 日期(刻度)转换为 NSDate

    有谁知道如何在 Objective C 中将 JSON 日期 ticks 转换为 NSDate 有人可以发布一些代码吗 我在这里猜测 但你的 JSON 值是自 1970 年以来的毫秒数 对吧 您可以使用 NSDate 的dateWithTi
  • ProcessBuilder 找不到指定的文件,而 Process 可以[重复]

    这个问题在这里已经有答案了 我正在尝试从 Java 程序运行 jar 文件 并且使用成功getRuntime Process processAlgo Runtime getRuntime exec java jar algoPath 但是当
  • Google 图表错误:b.L 不是函数

    我使用 Google API 制作了一个包含 3 个图形的小页面 一切都很完美 然而 从一个时刻到另一个时刻都崩溃了 在图表中出现此消息的地方 bL 不是函数 有人可以向我解释为什么会发生这种情况吗 我的例子working
  • WPF XAML StringFormat:C# 4.0 中的文化解决方法被破坏?

    周围的工作 FrameworkElement LanguageProperty OverrideMetadata typeof FrameworkElement new FrameworkPropertyMetadata XmlLangua
  • 使用 Jersey 2 (HK2) DI 注册 Dropwizard 配置

    在我的 Dropwizard 1 2 4 应用程序中 我无法将 Dropwizard 配置注入到由 HK2 实例化的类中 实现这一目标的最佳方法是什么 只需绑定配置即可instance Override public void run fi
  • 我可以信任 Java SecurityManager 沙箱吗?

    我正在编写一个 JavaFX2 应用程序 它接受从远程位置加载的任意代码 对我来说 使用自定义 SecurityManager ClassLoader 和 ProtectionDomain 是最佳选择 不幸的是 这似乎与用于沙箱小程序的设置
  • 手动指定特定链接符号的重新映射

    在不修改这两个源文件的情况下 有没有办法获取编译它们生成的目标文件 并说服链接器链接foo在 main v1 c 中bar在bar c main v1 c void foo void int main void foo bar c incl
  • JavaScript 是多线程的吗?

    这是我的问题 我需要使用 jQuery getScript 动态下载多个脚本并执行某些JavaScript加载所有脚本后的代码 所以我的计划是做这样的事情 function GetScripts scripts callback var l