如何让程序等待 javascript 中的变量更改? [英] How can I make a program wait for a variable change in javascript?

查看:30
本文介绍了如何让程序等待 javascript 中的变量更改?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I want to force a JavaScript program to wait in some particular points of its execution until a variable has changed. Is there a way to do it? I have already found an extension that is called "narrative JavaScript" that force the program to wait until an event to happen. Is there a way to create a new event, a "variable change event" for example that behaves like onclick event..

推荐答案

Edit 2018:请查看 对象 getter 和 setter代理.下面的旧答案:

Edit 2018: Please look into Object getters and setters and Proxies. Old answer below:

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

a quick and easy solution goes like this:

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();

这篇关于如何让程序等待 javascript 中的变量更改?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆