I'm writing a simple function in JavaScript:
function waitThenRun(objectToWaitFor, callback) {
// logic to periodically check for objectToWaitFor to become something
// then call the callback
}
And I intend to use it as:
waitThenRun(someObjectThatWillBeDefinedLater, function() {
// Doing something with someObjectThatWillBeDefinedLater
});
Yet I get this error:
Uncaught ReferenceError: someObjectThatWillBeDefinedLater is not defined
How do you handle this?
In simpler terms, I want to run a piece of code only when a global JSON variable is defined, and I can't determine when and where it gets defined. Sometimes it gets defined after my code, sometimes before my code, sometimes a second later, sometimes 5 seconds later. It's non-deterministic.
and I can't determine when it gets defined? Isn't it defined somewhere in your code?$(document).ready(), but for global JSON object.$(document).ready()works -- it takes a callback). Everything else with timers and polling will be a hack.