如何在两个js文件加载完成后调用一个公共函数?

How to call a common function after both of the js files are loaded completely?

我想以集群的形式在地图上显示标记,为此我使用了 "markercluster.js" 和 google 地图 v3 库。但这里的问题是要在地图上显示标记,这两个文件都应该完全加载。一种解决方案是我同步加载至少一个文件,但我想使用异步和延迟加载这两个文件。有什么办法可以同时实现这两件事。目前我正在以这种方式加载文件,但是当 googleapi 在 markercluster 之前加载时,它开始在初始化函数中将 markerCluster 显示为未定义。

<script async defer src="js/markerclusterer.js"></script>   
<script async defer src="//maps.googleapis.com/maps/api/js?v=3&callback=initialize"> </script>

您可以使用全局变量和 onload 事件。

<script async defer src="js/markerclusterer.js" onload="init()"></script>   
<script async defer src="//maps.googleapis.com/maps/api/js?v=3" onload="init()"></script>

那么您的函数可能如下所示:

var g_file_loaded = 0;

function init()
{
    g_file_loaded++;

    if (g_file_loaded === 2)
    {
        // your initialize function here
    }
}