如何从 jQuery 中的外部文件获取 JSON 数据并确保在脚本的其余部分之前加载数据

How do I get JSON data from an external file in jQuery and ensure the data is loaded before the remainder of the script

我正在尝试从 .json 文件(本地托管到脚本)中提取 JSON 对象并将数据保存为变量。目前,我正在使用 jQuery 的 $.getJson() 函数,它工作正常,我只想确保在完成脚本的其余部分之前加载 JSON 数据,因为某些函数依赖于就可以了。

有什么想法吗?

请参阅有关 getJson

的文档

如果你想要它应该 运行 而其他部分应该等待,你可以设置 'asysn' : false 但这不是一个好主意,因为 ajax 之后的代码将等到它完成。

// check the meaning of done, fail, always
    $.getJSON( "url", function() {
    
    }).done(function(){
    
        // your rest of the code
        
    });

或者您可以尝试自定义 trigger event

$(function(){

    $.getJSON( "url", function() {

    }).done(function(){
        $( document ).trigger( "jsonSuccess", [ "bim", "baz" ] );
    });

    $( document ).on( "jsonSuccess",function(event, var1, var2){
        // will execute after the 'getJSON' success 
    });
    
    // other codes can be execute from here, it will not wait

});