<script src="first.js"></script>
<script src="second.js"></script>
first.js
var obj = {
id: 1,
xyz: function(){
}
};
我想更新id并在second.js文件中调用xyz函数。最好的方法是什么?由于脚本将异步加载。
second.js
obj.xyz();
更新:
在对问题的评论中,您说过您没有使用任何类型的脚本加载器。这意味着,给定您引用的标记,将first.js
首先加载并执行,然后再second.js
加载并执行。second.js
直到被加载first.js
(或直到first.js
加载失败)才会被加载和运行。这样second.js
就可以完成您所显示的内容;除非first.js
完全无法加载,否则obj
将在那里等待。
基于有关脚本异步加载的声明的原始答案:
好吧,最好的方法是在两者之间建立某种形式的连接或消息传递。
但是您可以通过轮询来实现。
second.js:
(function() {
attempt();
function attempt() {
if (typeof obj !== "undefined") {
// Got it!
obj.xyz();
}
else {
setTimeout(attempt, 50);
}
}
})();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句