How To Pass An Object Name To A Javascript Promise That Waits Until The Object Has Been Initiated?
I need a function that resolves a JavaScript promise as soon as an object is defined. I'm a WordPress plugin developer and I face the problem that I have no control over where my c
Solution 1:
If the object will be global, pass a string and use typeof
instead, which will work for variables that haven't been defined yet:
functionobjectExists(varName) {
returnnewPromise(function (resolve, reject) {
(functionwaitForObject() {
if (typeofwindow[varName] !== 'undefined') returnresolve();
setTimeout(waitForObject, 30);
})();
});
}
objectExists('jQuery').then(function () {
// run my code
});
(or you could use your existing code with window.jQuery
instead - referencing a non-existent property of an object won't throw an error)
But this is a really weird thing to want to do. Better to attach a load
listener to the jQuery <script>
tag.
Post a Comment for "How To Pass An Object Name To A Javascript Promise That Waits Until The Object Has Been Initiated?"