+ 6
Is there a javascript event to variable change?
for example: var a = 2; event(.........) { //code to execute when a becomes 4 } I know I can check for its value in a loop but that is too CPU heavy and I have some other simultanious tasks too.
7 Réponses
+ 3
Gyan Prakash Singh Jaruhar if the receiving elements do not want to monitor data change, then the responsibility fall on updating element.
You can use custom event method, define the custom event name with binding data, set Event Listener on all the receiving elements.
Then on the updating part, whenever data is updated, it dispatches the custom event to inform all receiving elements.
https://code.sololearn.com/WsSwaQxvZPxp/?ref=app
+ 5
Well, you could always make 2 variable with the same value, then make a function that checks if the 2 variables are equal, then setInterval that function so it keeps on checking over and over until they are not equal to each other, then perhaps clear the interval
Like..
var main_variable=20;
var checking_variable=20;
function check(x,y,IntervalName) {
if(x==y) {
//Does nothing
} else {
//Code to be executed if they are no longer the same
clearInterval(IntervalName)
}
}
var checker = setInterval(check(main_variable,checking_variable,checker)100);
Hope this solved your problem!
+ 3
Please be more descriptive. There are many events in JS, can you say which one you want to intercept?
You want to change a variable value when the event fires right? just to be sure ...
+ 3
Ah so it's the other way around ...
Not too sure whether there is any event that watches for variable value changes.
Maybe you can make a class (which contains the value as a member), then make a setter method to change the value. You then can call a method in that setter, or just do something as the setter does its work.
Look forwards to others' valuable suggestions.
+ 3
Then just put the setInterval outside the loop, it will still run😉.
If you could show the code, it would be much easier to give specific pointers and help, but if you can't, that's fine as well🙂
+ 2
Ipang I want to fire a event when a variable change to specific value
+ 1
Vachila64 I have some simultanious tasks too!
And throwing the setInterval will put it in a loop preventing other executions