在加载JSON之前阻止执行javascript函数

时间:2018-06-04 19:45:18

标签: javascript arrays json

在我的HTML中,我有几个按钮。按钮将对象附加到名为game.json的json文件。该文件包含一个包含对象的数组。在将新对象附加到数组后,我想得到数组的长度。

例如:

game.json包含一个包含3个对象的数组。单击按钮后,另一个对象将附加到数组(现在包含4个对象)。然后我想返回数组的长度(4)。但是,它会在追加新对象之前返回长度。我理解这是因为Javascript是异步的。

我尝试使用以下代码阻止此操作:

let mydata;
function checkData() {
    $.ajax({
    url: 'db/game.json',
    async: false,
    dataType: 'json',
    success: function(json) {
        mydata = json;
        }});
    console.log(mydata.length)
}

但是,考虑到上面的例子,这仍然记录3而不是4。

当json尚未完全加载时,有没有办法阻止日志(甚至更好,返回)?

0 个答案:

没有答案