如何让程序等待 JavaScript 中的变量更改?

2024-01-11

我想强制 JavaScript 程序在执行的某些特定点等待,直到变量发生更改。有办法做到吗?我已经找到了一个名为“narrative JavaScript”的扩展,它强制程序等待事件发生。有没有办法创建一个新事件,例如“变量更改事件”,其行为类似于 onclick 事件。


2018年编辑:请查看对象获取器和设置器 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects#Defining_getters_and_setters and Proxies https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy。旧答案如下:


一个快速简单的解决方案是这样的:

var something=999;
var something_cachedValue=something;

function doStuff() {
    if(something===something_cachedValue) {//we want it to match
        setTimeout(doStuff, 50);//wait 50 millisecnds then recheck
        return;
    }
    something_cachedValue=something;
    //real action
}

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

如何让程序等待 JavaScript 中的变量更改? 的相关文章

随机推荐

  • Laravel NotFoundHttpException 尽管路由存在

    我使用 vue js 和 Laravel 5 1 创建一个小型文件共享应用程序 一切都很完美 但现在我想确保每个文件的所有者能够从他的文件中删除用户 当然 他必须首先与这些用户共享文件 因此我向名为的 URL 发出 PUT 请求 files
  • 如何更新div元素内html元素的id和名称?

    我有以下 html 代码 它是由 Razor 引擎生成的 这是动态的 我的意思是下拉列表中的元素数量可能会根据用户的不同而有所不同 我需要使用新 ID 和新名称将此下拉列表复制到同一下拉列表的正下方 我看过here https stacko
  • 如何更改Powershell 7.3.0上的建议完成键?

    最近 我将 PowerShell 更新到了 7 3 0 版本 并且在输入时会显示建议 但是当我按 Tab 键时 它不会自动完成建议 如何设置Tab作为自动完成键 所以在做了一些研究之后我发现 默认自动完成键是RightArrow key 您
  • SPARQL 查询未产生预期结果

    我使用此 SPARQL 查询来获取欧洲国家 地区列表 SELECT item itemLabel WHERE item wdt P31 wd Q6256 item wdt P30 wd Q46 item wdt P361 wd Q46 it
  • ASP.NET Core 解决方案是否可以包含具有不同目标框架的项目?

    Like so 一种解决方案 我认为这一定是 ASP NET Core 项目1 目标框架是 NET Core 2 1 项目2 目标框架是 NET Framework 4 5 1 处理数据访问的类库 我问的原因是项目 2 包含我们目前没有时间
  • 带 iOS 7 状态栏的文档交互控制器?

    The UIDocumentInteractionController似乎无法与新的 iOS 7 状态栏正确交互 尤其是在横向状态下 我现在用于显示查看器的代码 void viewDidAppear BOOL animated super
  • 我需要 mongoose 和 graphql 吗?

    如果我想将 mongo 数据库连接到 graphql 模式 我是否需要 mongoose ORM 或者我可以只进行原始驱动程序调用吗 你可以两者都做 如果您已经定义了猫鼬模型 则可以在编写时使用它们resolve功能 请参阅下面的例子 ht
  • 使用.AsString 还是.Text?

    我刚刚看到了他们使用的一些代码 D5 aStr tblAcct FieldByName Name Text 看起来效果不错 但我一直用 aStr tblAcct FieldByName Name AsString 我在加载 TMemo 时使
  • Silverlight自定义Tabcontrol设计

    我是开发新手 打算使用 Silverlight 开发一个基于 Windows 的项目 我选择制作一个 OOB 应用程序 silerlight Out Of Browser 应用程序 在我的项目中 我将使用 TabControl 我能够在 M
  • php 邮件头中的哪个换行符,\r\n 或 \n?

    我见过很多使用 php 邮件功能的例子 其中一些使用 r n 作为标题的换行符 有些使用 n headers From Just Me n headers Reply To Just me lt email gt n vs headers
  • Div - onblur 函数

    我想打电话给onblur on div 不知道如何完成它 尝试过这个 div onblur javascript callme 但没用 For blur要在元素上触发事件 该元素需要首先接收焦点 但 div 默认情况下 元素不会获得焦点 你
  • 将多个文本文件导入 Matlab 来分析数据 [重复]

    这个问题已经存在了 我对matlab确实是个新手 所以我正在努力学习最基本的知识 我有 8 个 tsv 文件 名称如 2004 07 01 0000 tsv 2004 07 01 0300 tsv 其中每个文件有 72 行和 144 列 我
  • 在 IIS 上使用 PHP 进行 Windows 身份验证

    我正在开发一个在 IIS 上用 PHP 构建的 Intranet 应用程序 我想通过使用 Windows 身份验证将用户名自动从浏览器传递到 IIS 来针对 AD 进行身份验证 有办法做到这一点吗 是的 IIS 支持集成 Windows 身
  • 从经典 ASP 连接到 SQL Server 2008 的命名实例

    我的 ASP 应用程序可以毫无问题地连接到安装了 SQL Server 2000 的网络服务器 有效的旧代码 myConn Open Driver SQL Server Server myNetwrkServer Database myDB
  • 如何在 ASP.NET 中使用 C# 从数据库检索二进制图像

    我需要从数据库中检索二进制图像 我的疑问如下 SqlConnection con new SqlConnection Data Source localhost Initial Catalog MyGames Integrated Secu
  • CentOS 上 Laravel 的权限问题

    我已将 laravel 存储库克隆到我的 CentOS 7 机器上 当我尝试运行它时 出现 500 错误且没有任何显示 所以我检查一下 var log httpd error log我发现我遇到了一些权限错误 Mon May 16 11 3
  • 如何使用代码实现关机

    有没有一种方法可以使用代码关闭手机 我对此一无所知 希望有人给我一些建议 或者示例 代码 api 谢谢 这是一个完整的例子 https github com rbochet AutoShutdown https github com rbo
  • 如何从这种关系中选择条目?

    我有这四个表 提要 提要条目 条目类别和类别 有了这些结构 CREATE TABLE categorias id int 11 NOT NULL auto increment nome varchar 100 collate utf8 un
  • Chrome 会阻止不同来源的请求

    当脚本尝试从不同来源访问框架时 Chrome 会阻止它并抛出异常 如下所示 未捕获的安全错误 阻止具有来源 提供商域 的框架访问具有来源 mydomain 的框架 协议 域和端口必须匹配 在 google chrome 进行一些更新后 我收
  • 如何让程序等待 JavaScript 中的变量更改?

    我想强制 JavaScript 程序在执行的某些特定点等待 直到变量发生更改 有办法做到吗 我已经找到了一个名为 narrative JavaScript 的扩展 它强制程序等待事件发生 有没有办法创建一个新事件 例如 变量更改事件 其行为