如何在javascript中等待元素被定义?

Lar*_*ell 4 javascript

我需要在 javascript 中执行与此等效的操作:

while (typeof someObject == 'undefined') {
     sleep(10);  // 10ms
}
Run Code Online (Sandbox Code Playgroud)

我只是不太清楚如何编写这个代码。

我有这个:

function sleep(ms, callback, arg) {
    setTimeout(function() {
        callback(arg);
    }, ms);
}

function waitForDef(elem) {
    if (typeof elem == 'undefined') {
        sleep(10, waitForDef, elem);
    }
}
Run Code Online (Sandbox Code Playgroud)

但我不清楚如何从我的代码中使用它。

pav*_*rom 10

运行一个间隔来不断检查元素:

var interval = setInterval(function() {
    // get elem
    if (typeof elem == 'undefined') return;
    clearInterval(interval);

    // the rest of the code
}, 10);
Run Code Online (Sandbox Code Playgroud)