在我的页面中,我有以下将加载的脚本:
<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);
});