使用 setTimeout(fn, 0) 将代码执行推迟到当前调用堆栈之后可靠吗?

2023-12-26

我有一个被调用次数未知的函数。我需要知道该函数运行了多少次,所以我正在这样做:

(function () {    

    var i = 0,
        increment = function () {
            if (i === 0) {
                setTimeout(function () {
                    console.log('increment was called ' + i + ' times.'); // increment was called 3 times.
                    i = 0;
                }, 0);
            }
            i++;
        };

    increment();
    increment();
    increment();

})();

谁能告诉我这在所有浏览器中是否可靠,或者是否有更好的模式来实现这一点?


setTimeout()将一个函数放入队列中,该函数在所有其他函数运行完毕后执行。

如果你打电话setTimeout()打电话前几次increment(),你可能会注意到i变量达到大于 1 的值。

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

使用 setTimeout(fn, 0) 将代码执行推迟到当前调用堆栈之后可靠吗? 的相关文章

  • 资产管道中的路由助手

    使用 Rails 3 1 0 rc4 我尝试访问 javascript 文件中的路由助手 本例中为 event js erb 但似乎此时它们尚未加载 当请求合并的 assets application js 文件时 我得到 throw Er
  • Three.js - 如何使用姿势估计数据为 3D 模型制作动画

    我正在尝试使用姿势估计坐标来对 Three js 中的装配模型进行动画处理 我正在使用的姿势估计技术提供了视频源中人物的实时 x y z 坐标 我正在尝试使用这些坐标相应地移动 3D 模型 我使用下面的代码 其中一些代码是我在相关问题的答案
  • 首选的客户端路由解决方案? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • LitElement 不更新列表中的复选框

    我有一个简单的清单 每个项目都有一个删除按钮 当我选中第一个项目然后删除它时 列表会更新 删除该项目 但会选中下一个项目的复选框 下一项的属性是正确的 这是我的代码 import LitElement html from lit eleme
  • 如何使用 JavaScript 访问 runat="server" ASP 元素?

    似乎每个人都在这样做 在代码帖子等中 但我不知道如何 每当我尝试使用 JavaScript 操作 asp 元素时 我都会得到一个 element is null or document is undefined 等等错误 JavaScrip
  • 使用 JavaScript 设置文本区域样式

    我对 JavaScript 完全陌生 想修改表单的文本区域 由外部脚本生成 如下所示 1 开始时的文本区域 标记为 您的消息 颜色为 rgb 136 136 136 2 焦点上的文本区域 标签已删除 颜色设置为 rgb 0 0 0 3 文本
  • JavaScript - 如何通过键盘使用 onclick 函数

    我有 HTML 和 JavaScript 代码
  • 如何限制注册用户尝试投票两次[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我对 php 编码和网站设计非常陌生 我正在尝试开发一个在线投票系统 只允许注册用户投票 已完成所有操作并且工作正常 但我需要的帮助是
  • HTML 5 视频:使用 javascript 播放多个“剪辑”

    我在 HTML 视频和 JavaScript 方面遇到问题 因此编写了一些简单的代码来演示 有一个视频包含三个 剪辑 全长五秒 显然 在现实世界中 它们要长得多 一个在 25 30 秒 一个在 55 60 秒 最后一个在 85 90 秒 我
  • 仅在文件下载完成后设置 cookie。

    我有一个场景 我想告诉用户下载完成并提示关闭按钮 为此 我使用 jquery 插件来连续监视 cookie 以了解下载何时完成 我的问题是我想设置这个cookie fileDownload true and path 下载完成后立即进行 为
  • 使用 jquery 选中和取消选中所有复选框

    我正在使用此脚本来选中和取消选中所有复选框 checkall click function var checked this data checked chkall find checkbox attr checked checked th
  • 根据传单中的属性更改标记颜色

    我的目标是让我的标记根据它们的不同而采用三种不同的颜色rating财产 我看过类似的帖子 其中使用对象来定义颜色 每个标记都有一个rating属性在 1 到 5 之间 我正在考虑使用 else if 语句 例如 if rating lt 3
  • 你可以推荐什么 JavaScript 缓存 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个好的javascript内存缓存库来缓存客户端计算结果 我的要求 适用于 Internet Explorer FireFox
  • 自动打开默认电子邮件客户端并预填充内容

    当用户在页面上保存某些内容时 我需要自动打开用户的默认电子邮件客户端 我需要填充电子邮件主题 地址并在电子邮件正文中添加一些内容 实现这一目标的最佳选择是什么 我知道mailto 属性 但用户必须单击此属性 我不确定它是否允许您指定主题和内
  • Angular 4 - “等待操作”的正确方法是什么?

    我遇到了一个简单的问题 有一个很奇怪的解决方案setTimeout 0 看看这个简单的代码 Component selector my app template div div
  • 检查用户是否登录 Facebook

    我正在尝试使用 javascript 检查用户是否登录 Facebook 刚刚登录或未登录 与我的应用程序无关 我尝试在 FB init 之后使用以下代码 FB getLoginStatus function response alert
  • 如何使用 javascript 获取 html5 视频的缩略图?

    我找到了根据 URL 获取视频缩略图的 JavaScript 代码 不过 我只在 YouTube 和 Vimeo 上找到了这个 似乎没有人列出如何处理旨在嵌入 html5 视频标签的视频的示例 能做到吗 谢谢 是的 您可以使用视频作为画布的
  • 如何使用 PHP 读取/显示 XML

    有没有办法使用 PHP 读取 external xml 来自不同网站的 xml 文件 我知道有一种方法可以使用 JavaScript 读取 XML 但前提是它们都位于同一根目录中 您能否提供有关如何获取 xml 文件的示例 然后阅读以下内容
  • 如何将react-native与php一起使用并获取返回数据始终为空

    我的回报始终为空 我似乎无法让它发挥作用 我如何将react native与php一起使用并获取json 任何人都可以帮忙吗 PHP myArray array myArray lat POST lat myArray lng POST l
  • jQuery - 将日期选择器的容器设置为特定的 div

    我在 div 上使用 jQuery UI 日期选择器 div通过移动鼠标隐藏和显示 因为日期选择器存在于末尾标签 不在我的 div 内 当我将鼠标移动到日期选择器时 div 消失 我像这样加载了日期选择器 JavaScript dt1 da

随机推荐

  • 使用 URL 打开 Chrome 应用

    有没有办法从默认的 Android 浏览器打开 Android 上的 Chrome 应用程序 我可以打开该应用程序 但它不会将用户重定向到正确的页面 这是我尝试过的 a href 我发现我可能必须形成一个意图 URL 但我希望有一种比这更简
  • “Web”客户端类型不允许自定义方案 URI - Google 与 Firebase

    我正在尝试使用 firebase 在我的 iOS 应用程序中实现 google 登录 我遵循这个教程 https firebase google com docs auth ios google signin https firebase
  • 在 FileAppender 中使用 Logback 标记时出错

    我已经开始探索我们的应用程序的 Logback 选项 要求之一是为具有特定 标记 的日志条目创建单独的日志文件 下面是我正在使用的 logback xml 文件和我收到的错误 logback 网站上的示例显示了 SMTPAppender 的
  • 需要帮助实施 Facebook 积分

    我读过一些关于开始实施 Facebook 积分的其他帖子 并且从 github 下载了示例代码 https github com facebook credits api sample https github com facebook c
  • MS Access:自定义纸张尺寸

    我正在构建一个 MS Access 2010 应用程序 我将从此应用程序打印条形码标签 还有各种其他报告和表格也将使用标准打印机设置进行打印 但是对于条形码 我需要将其打印到特定打印机 并且必须将其设置为使用特殊的页面尺寸 在我的搜索中我有
  • 为什么“WriteOnlyWorksheet”对象没有属性“cell”?

    import openpyxl wb openpyxl Workbook multiplication xlsx wb create sheet sheet wb get active sheet sheet cell column 6 r
  • 在线性布局中以相等间距水平对齐按钮

    我正在尝试制作一个线性布局 其中 5 个按钮水平放置 间距相等 但所有按钮的大小 宽度 应仅为 40dp 我试过这个
  • 如何使用 SVN 热复制恢复存储库?

    好的 我使用svn的hotcopy进行增量备份 现在如何测试hotcopy是否正常工作 我在这里搜索了有关热复制的帖子 他们中的大多数似乎只是鼓励使用 svn hotcopy 但没有谈论如何使用 hotcopy 进行恢复 关于如何使用我制作
  • 如何向 UIImage 或 UIImageView 或 UIView 添加外部发光

    我想添加褪色的阴影 外发光到UIImage UIImageView UIView但我知道没有Core Graphics根本不 Edit 请帮忙 采用 Cirrostratus 概述的方法 保留其缓存副本 然后在拖动时应用变换来更改图像的大小
  • 使用反汇编器的.NET 中的对象布局结构

    我有兴趣查看对象布局结构 并尝试在 Visual Studio 中使用反汇编 以下是我的代码 class myclass public int m a myclass myc new myclass myc m a 23 I am sett
  • 如何在 ionic 2 中按月对项目进行分组?

    我有一个数据集合 我想按月分组以形成日历列表视图 并带有分隔符 如所附图像 如何在 ionic 2 中做到这一点 data id 75 title Oudergesprekken startDate 18 01 2017 id 76 tit
  • Android:构造时未能setLocale(),关闭数据库

    我正在尝试创建一个包含 12 个不同表的数据库 该数据库直到今天都运行良好 现在 每次我在卸载并重新安装它 或只是清除应用程序数据 后第一次启动我的应用程序时 我都会收到标题中看到的错误消息 但是 在收到此错误后第二次启动应用程序时 它工作
  • 如何使用 Linq 和 IN 子句

    这是我的代码 if catid 0 posts posts Where x gt x catid IN 1 8 2 109 23 The in在此代码中显示为语法错误 有没有办法来解决这个问题 您也必须使用另一个列表进行比较 List
  • 如何在 Java 编译时断言某些内容?

    有时数据结构应该具有某些无法用 Java 直接描述的关系 但在编辑代码时尽早检查这些关系是有好处的 典型的例子是数组足够大或者不同模块中的枚举有相应的成员 BOOST 在 C 中提供了一个很好的 静态断言 工具 甚至在断言失败时提供了一半不
  • 从 svn 客户端签出重新创建 subversion 存储库

    我的第一个问题在这里 Subversion 存储库已删除 但存在从该存储库进行的签出 我将如何从结帐重建存储库 您可以将该签出导出到新位置 然后将其全部添加到新存储库 但你无法恢复历史
  • Pyqt 鼠标悬停在 QPushButton 上

    我想检测鼠标悬停在QPushButton 为此 我在按钮上安装了一个事件过滤器 但是 那MouseMove当鼠标位于按钮上方时 事件不会准确触发 当我单击与前一个位置不同的位置上的按钮时 似乎有时会触发它 简而言之 我将鼠标移到按钮上 没有
  • 您需要 ref 或 out 参数吗?

    我将类的实例传递给方法 该方法将修改该实例 由于这是我要传递的类 我是否需要使用 out 或 ref 关键字 这就是我想做的 public void Blah Blah b Dao GetBlah 23 SomeService Modify
  • Airflow 中最新的唯一运算符和追赶者之间的区别

    正如标题所暗示的 希望了解 dag 定义中的 catchup False 和最新的 only 运算符之间的区别 https airflow apache org docs stable scheduler html https airflo
  • 这三种清除文本框的方法有什么区别?

    我对以下三种清除文本框内容的方法有点困惑 我正在使用 WPF 并发现所有功能都在工作 但我无法找到差异 有人可以用一些例子向我解释一下吗 txtUserName Clear txtUserName Text string Empty txt
  • 使用 setTimeout(fn, 0) 将代码执行推迟到当前调用堆栈之后可靠吗?

    我有一个被调用次数未知的函数 我需要知道该函数运行了多少次 所以我正在这样做 function var i 0 increment function if i 0 setTimeout function console log increm