一个全局对象后执行jQuery函数解析
问题描述:
在我的网页我有以下将要加载的脚本:一个全局对象后执行jQuery函数解析
<script src="~/js/dir/search.js"></script>
<script src="~/js/dir/item.js"></script>
里面search.js
文件我用ES6全局范围内:
fetch(endpoint)
.then(blob => blob.json())
.then(data => members.push(...data));
而且里面item.js
我用这个脚本来显示members
对象:
$(window).load(() => {
console.log(members);
});
但它在控制台中打印undefined
,如何确保search.js
完全加载,然后items.js
给出结果?
答
你可以从一个文件暴露一个API来在另一个文件中注册一个额外的处理程序。
search.js:
var p = fetch(endpoint);
p.then(…);
window.extraHandler = function (fn){
p.then(fn);
}
item.js:
extraHandler(function(){
console.log(members);
});
注意'search.js'加载并执行,之前'item.js'一样。但我猜你的'fetch()'是异步的,不能及时完成。 –
@F*Klötzl是的,你觉得呢,有什么想法? – newbie