Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 解析全局对象后执行jquery函数_Javascript_Jquery_Promise - Fatal编程技术网

Javascript 解析全局对象后执行jquery函数

Javascript 解析全局对象后执行jquery函数,javascript,jquery,promise,Javascript,Jquery,Promise,在我的页面中,将加载以下脚本: <script src="~/js/dir/search.js"></script> <script src="~/js/dir/item.js"></script> 在item.js中我使用此脚本显示成员对象: $(window).load(() => { console.log(members); }); 但是它在控制台中打印未定义的,如何确保如果search.js完全加载,然后items.js给

在我的页面中,将加载以下脚本:

<script src="~/js/dir/search.js"></script>
<script src="~/js/dir/item.js"></script>
item.js中
我使用此脚本显示
成员
对象:

$(window).load(() => {
   console.log(members);
});

但是它在控制台中打印
未定义的
,如何确保如果
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()
是异步的,不能及时完成。@FabianKlötzl是的,你觉得怎么样,有什么想法吗?
extraHandler(function(){
    console.log(members);
});