首页 > 解决方案 > 使用回调调用动态加载 JS 方法不起作用

问题描述

此代码导致:未捕获的错误:未定义检查。有人可以就此代码片段提供帮助。请找到下面的代码

check() 在外部 .js 文件中定义

Method in script tag ...
    <script>

    loadScriptfinal("/js/VendorPaymentInfo/"+coreId+".js", function() {
                             check();
                            });


    function loadJS(file,callback) {
        var jsElm = document.createElement("script");
        jsElm.type = "application/javascript";
        jsElm.src = file;

        jsElm.onload = function() {
            callback(); 
        }

        // finally insert the element to the body element in order to load the script
        document.body.appendChild(jsElm);
    }

    </script>

标签: javascriptcallback

解决方案


您可以观察直到加载外部文件,然后调用loadScriptfinal函数。

var  timer = null;
var timer = setInterval(()=>{
if (window.check && window.check.constructor === Function) {
    clearInterval(timer);
    loadScriptfinal("/js/VendorPaymentInfo/"+coreId+".js", function() {
        check();
     });
     }
},100)

推荐阅读