检查名称是否存在ES6类

时间:2018-11-28 17:26:35

标签: javascript

我正在懒惰地加载我的代码的一部分,有些文件包含随后在其他部分中调用的类,因此我编写了一个简单的代码,检查是否存在类实例,然后执行该实例,或者在100毫秒后重试。

let checkExist = setInterval(function() {
    if (typeof(ClassInstanceName) === "object") {
       ClassInstanceName.DoSomething();
       clearInterval(checkExist);
    }
 }, 100);

此代码有效,但我需要将其归纳为一个自包含函数

 function WaitForClass(args) {

    let instance    = (args.instance    === undefined ? "" : args.instance);
    let callback    = (args.callback    === undefined ? "" : args.callback);

    if (instance == "" || callback == "") {
        console.log("Error -> " + instance + " " + callback);
    }
    else {
        if (document[instance]) {
            //it never find the instance
            callback();
        }
        else {
            setInterval(function() {
                WaitForClass(args);
            }, 100);
        }
    }

 }

 WaitForClass({instance:"ClassInstanceName", callback:function(){ ClassInstanceName.DoSomething();}});

该函数很简单,但是无法正常工作。 为了与其他代码部分兼容,我需要使用包含名称而不是仅代表名称的字符串来检查实例是否存在。

0 个答案:

没有答案