javascript - 使用回调调用动态加载 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>
解决方案
您可以观察直到加载外部文件,然后调用loadScriptfinal函数。
var timer = null;
var timer = setInterval(()=>{
if (window.check && window.check.constructor === Function) {
clearInterval(timer);
loadScriptfinal("/js/VendorPaymentInfo/"+coreId+".js", function() {
check();
});
}
},100)
推荐阅读
- react-native - React-Native 购物车 - 无法将数据传递到购物车屏幕
- macos - 无法在 macos 上安装/链接 wget
- apache-spark - 在 Pyspark 中从 Rest Api 创建数据框时出错
- php - 使用 codeigniter 版本 4 显示 xml
- python - 多次附加用户输入
- java - java spring mvc 404未找到示例Spring MVC的错误
- django - HTML模板上的Django过滤器功能
- javascript - 如何将具有数组作为值的对象键值对转换为键值对的多个对象?
- javascript - Web cookie 和本地存储有什么区别?
- python - 使用 pandas 数据框中的值作为另一个的列名