如何让程序等待 javascript 中的变量更改? [英] How can I make a program wait for a variable change in 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屋!