JavaScript Promise 通过 setTimeout 解决

2023-11-30

我不明白为什么第一个 setTimeout 函数起作用,但第二个函数不起作用。当我运行第二个 setTimeout 时,第一个被注释掉。但不是 3 秒后解决,而是立即解决。

我对整个“承诺”事物很陌生,我正在学习的教程经常使用带有 setTimeout 的承诺。

  let promise = new Promise( ( resolve, reject ) => {

     /* why does setTimeout work with this one... */
     setTimeout( () => resolve( 'Job\'s done!!!' ), 3000 );

     /* but not with this one */
     setTimeout( resolve('done'), 3000 );
  } );

  promise.then(
     result => alert( result )
  );

/* why does setTimeout work with this one... */
 setTimeout( () => resolve( 'Job\'s done!!!' ), 3000 );

当超时发生时你调用一个函数() => ...执行时直到解决承诺

/* but not with this one */
 setTimeout( resolve('done'), 3000 );

在这里,您实际上解决了 Promise(执行结果函数)并将结果传递给 setTimeout 函数。

Writing

() => resolve( 'Job\'s done!!!' )

是相同的

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

JavaScript Promise 通过 setTimeout 解决 的相关文章

  • JavaScript onTouch 不工作

    谁能告诉我为什么这个 onTouch 处理程序没有触发 var myDiv document getElementById existingContent var myButton a href log out a myDiv append
  • 如何重定向到 instagram://user?username={username}

    我的 html 页面上有这个链接 可以在特定用户上打开 Instagram 应用程序 a href Link to Instagram Profile a 我一直在寻找自动运行 url instagram user username USE
  • 如何重置使用 JavaScript 更改的 CSS 属性?

    我的导航按钮的宽度从 100px 增加到 150px 当鼠标悬停在 nav li hover width 150px 但是使用 javascript 我已经做到了 无论选择哪个选项 宽度都将继续为 150px 当选择每个选项时 它会使其他选
  • 使用 jQuery/JS 打开时使
    标签的内容具有动画效果

    我只想要 HTML5 的内容details标记为 滑行 动画打开 而不是仅仅弹出打开 立即出现 这可以用 jQuery Javascript 实现吗 Fiddle http jsfiddle net 9h4Hq HTML
  • Javascript正则表达式用于字母字符和空格? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我需要一个
  • 从未用 @flow 标记的导入文件中获取类型定义

    TL DR我怎么告诉flow从未声明的导入模块导入类型定义 flow 加长版 流接缝能够从不使用流语法的文件中派生类型 请参阅示例 示例文件 flow js if Math random lt 0 5 var y hello else va
  • 标签获取 href 值

    我有以下 html div class threeimages a img alt Australia src Images Services 20button tcm7 9688 gif a div class text h2 a hre
  • 跟踪用户何时点击浏览器上的后退按钮

    是否可以检测用户何时单击浏览器的后退按钮 我有一个 Ajax 应用程序 如果我可以检测到用户何时单击后退按钮 我可以显示适当的数据 任何使用 PHP JavaScript 的解决方案都是优选的 任何语言的解决方案都可以 只需要我可以翻译成
  • 将div设置为隐藏,延时后可见

    我试图在 X 时间后 也许甚至在随机时间之后 但现在我们只做固定时间 在黑色背景上出现一个黄色方块 function initialSetup if document getElementById yellow null document
  • 表单计算器脚本基本价格未加载 OnLoad

    我的表单中有一个计算器来计算我的下拉选项选择 function select calculate on change calc input type checkbox calculate on click calc function cal
  • 提交表单并重定向页面

    我在 SO 上看到了很多与此相关的其他问题 但没有一个对我有用 我正在尝试提交POST表单 然后将用户重定向到另一个页面 但我无法同时实现这两种情况 我可以获取重定向或帖子 但不能同时获取两者 这是我现在所拥有的
  • Grails 在 javascript 内的 GSP 站点中使用 grails var

    我有一个在 GSP 文件中的 javascript 代码中使用 grails 变量值的问题 例如 我有一个会话值session getAttribute selectedValue 我想在 javascript 代码部分使用这个值 我现在的
  • Angular 2+ 安全性;保护服务器上的延迟加载模块

    我有一个 Angular 2 应用程序 用户可以在其中输入个人数据 该数据在应用程序的另一部分进行分析 该部分仅适用于具有特定权限的人员 问题是我们不想让未经授权的人知道how我们正在分析这些数据 因此 如果他们能够在应用程序中查看模板 那
  • 如何使用tampermonkey模拟react应用程序中的点击?

    我正在尝试使用 Tampermonkey 脚本模拟对 React 元素的点击 不幸的是 由于 React 有自己的影子 DOM 所以天真的方法使用document querySelector 不工作 我遇到了一些需要修改 React 组件本
  • 为什么我不能在 AngularJS 中使用 data-* 作为指令的属性名称?

    On the t他的笨蛋 http plnkr co edit l3KoY3 p preview您可以注意到属性名称模式的奇怪行为data 在指令中 电话 Test of data named attribute br
  • 条件在反应本机生产中失败,但在开发中有效

    我创建了一个反应本机应用程序 我需要通过它进行比较 如果属实 就会执行死刑 问题是 该条件适用于 React Native 开发模式 而不适用于 React Native 生产版本 我使用 firebase 作为数据库 也使用 redux
  • Safari 支持 JavaScript window.onerror 吗?

    我有一个附加到 window onerror 的函数 window onerror function errorMsg url line window alert asdf 这在 firefox chrome 和 IE 中工作正常 但在 s
  • 如何更改此 jquery 插件的时区/时间戳?

    我正在使用这个名为 timeago 的插件 在这里找到 timeago yarp com 它工作得很好 只是它在似乎不同的时区运行 我住在美国东部 费城时区 当我将准确的 EST 时间放入 timeago 插件时 比如 2011 05 28
  • JQuery 图像上传不适用于未来的活动

    我希望我的用户可以通过帖子上传图像 因此 每个回复表单都有一个上传表单 用户可以通过单击上传按钮上传图像 然后单击提交来提交帖子 现在我的上传表单可以上传第一个回复的图像 但第二个回复的上传不起作用 我的提交过程 Ajax 在 php 提交
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成

随机推荐

  • 如何找到向量中的所有最小元素

    在Matlab中 通过函数min 即使可以有多个相等的最小元素 我也只能得到一个向量的一个最小元素 我想知道如何获取向量中所有最小元素的索引 例如 v 1 1 我想获得索引 1 和 2 它们都索引最小的元素 1 感谢致敬 您可以使用find
  • fmt.Scanln 预期换行错误

    我正在尝试学习 Go 但坚持了这一点 http ideone com hbCamr or http ideone com OvRw7t package main import fmt func main var i int var f fl
  • Github 表示有效的现有工作“正在等待状态报告”

    我有一个 PR 我希望在合并到 master 之前完成某些检查 这是工作https github com hhimanshu typescript serverless api vercel actions runs 763599870 现
  • 美元符号在 Swift / SwiftUI 中起什么作用?

    Apple 提供的有关 SwiftUI 的教程使用美元符号绑定数据 但我无法在 SwiftUI 中找到有关此数据绑定的更多信息 Toggle isOn showFavoritesOnly 您可以使用 前缀来访问对状态变量或其属性之一的绑定
  • 在通过 setTimeout 或 Promise 阻止代码之前更新 DOM

    我知道 当存在 CPU 密集型代码时 任何先前的 DOM 更新都不会发生 例如 function blockFor dur var now new Date getTime while new Date getTime lt now dur
  • 如何使用serviceWorker缓存ajax响应

    我在index html中使用ajax调用服务器数据 它正在完美地获取这些数据 现在 我正在与服务人员一起工作 我可以缓存所有静态资源 图像 js css 并在 Chrome 开发工具的应用程序选项卡的缓存存储中检查这些缓存的资源 我可以在
  • 使用信用卡付款的 Paypal Express Checkout 订阅

    问题 是否可以通过 Paypal api Express Checkout 设置订阅 以便您可以通过信用卡和 Paypal 登录进行支付 Paypal 登录没问题 但目前无法使用信用卡 我已设置 NVP SOLUTIONTYPE Sole
  • 参数数量无效:没有绑定参数

    我有一个使用 php 和 mysql 的静态聊天应用程序 下面是在聊天框中显示消息的代码 sql SELECT id msg time msg from msg to from msg WHERE msg from SESSION user
  • 使用 GSON 反序列化嵌套 JSON 字符串

    全部 我有以下内容JSON输出 字符串 来自 JIRA API 的响应 expand names schema startAt 0 maxResults 50 total 1 issues expand operations version
  • Java:找到大写字母时分割字符串

    我认为这是一个简单的问题 但我无法找到一个简单的解决方案 比如说 少于 10 行代码 我有一个String例如 thisIsMyString 我需要将其转换为String this Is My String 请注意第一个字母不是大写 您可以
  • Visual Studio代码:在输入代码片段时替换字符大小写

    我正在尝试为 Visual Studio Code 和 TypeScript 编写代码片段 到目前为止 我成功地镜像了这样的输入单词 import 1 Name Component from 1 name component 当我在第 1
  • 集群环境下如何使用redis扫描?

    我正在使用 spring redisTemplate 和 redis 扫描 它可以在单节点的情况下查找 但在集群环境下就不行了 我无法获取数据 有没有办法在集群环境下获取扫描数据 这是我的 spring redisTemplate 代码 S
  • 将一个函数作为参数传递给另一个函数

    我看到一个函数像这样传递 sigma 3 e 2 svmTrain X y gaussianKernel X y sigma 这样的函数传递是怎么回事 有人能解释一下吗 语法 X y gaussianKernel X y sigma 创建一
  • Visual Studio:通过电源控制台添加项目文件失败

    我的任务是在一个解决方案中添加 384 个现有项目 以便用项目依赖项替换二进制文件依赖项并使用 msbuild 进行构建 为了实现这一目标 我尝试使用 Visual Studio API 来自动将项目添加到解决方案中 我实际上是 Windo
  • 如何从画布中添加和删除(多个)图像?

    我是画布 HTML5 新手 我必须在画布上设计一个绘画应用程序 有一个功能 例如在画布上动态添加所选图像 通过鼠标移动 以及删除和拖动添加的图像的功能 与文本添加相同 现在我的问题是我们如何从画布中删除图像 注意 添加到画布中的图像没有固定
  • 如何在TYPO3 CMS后端重命名副标题

    如何为作者重命名 TYPO3 CMS 后端字段 即提到的 csc styled content 内容元素字段 一般来说 覆盖标签名称可以通过后端的 Page TSconfig 来完成 下面的例子修改了标签subheader field TC
  • 你调用的对象是空的

    我有一个单元格类 public class Cell public enum cellState WATER SCAN SHIPUNIT SHOT HIT public Cell currentCell cellState WATER Me
  • 静态变量的动态初始化阶段

    该标准特别指出 静态持续时间变量 命名空间范围和类静态成员 的动态初始化不必在执行 main 之前发生 命名空间范围的对象的动态初始化 8 5 9 4 12 1 12 6 1 是否在 main 的第一个语句之前完成 是由实现定义的 IS 3
  • Jenkins-pipeline 从 groovy 中的属性文件中提取并设置变量

    首先 我将管道完全编写为 groovy 以便签入 git 请不要提供任何gui必要的解决方案 我的问题陈述是 从文件中提取变量并将其设置为等于 groovy 对象 我尝试过的 def SERVICE MAJOR VERSION node r
  • JavaScript Promise 通过 setTimeout 解决

    我不明白为什么第一个 setTimeout 函数起作用 但第二个函数不起作用 当我运行第二个 setTimeout 时 第一个被注释掉 但不是 3 秒后解决 而是立即解决 我对整个 承诺 事物很陌生 我正在学习的教程经常使用带有 setTi