JSON.Parse()准备好后调用函数?

时间:2016-01-25 10:38:04

标签: javascript json

当JSON.Parse()解析文件中的所有对象时,有没有办法使用事件来调用函数?

2 个答案:

答案 0 :(得分:2)

JSON.parse是同步的。它返回与给定JSON文本对应的对象。

有关mozilla

的更多信息

现在一个做JSON.parse的好方法如下所示(在try-catch中)

try {
    var data = JSON.parse(string);
    //data is the object,
    //convert to object is completed here. you can call a function here passing created object                  
}
catch (err) {
    //mark this error ?
}

现在有讨论,为什么JSON.parse不是异步,例如ONE HERE

答案 1 :(得分:0)

编辑:问题已经改变。

JSON.parse()是一种同步方法,这意味着一旦它被调用,它将在代码执行继续之前完全执行。

var obj= JSON.parse(jsonString);
obj.prop; // obj is already accessible.

JSON.parse,实际上并没有加载任何文件。它也是同步的,这意味着代码执行在完成它的功能(即将有效的JSON字符串解析为JavaScript对象)后恢复。

如果要在加载文件后执行回调,则需要查看请求,并且ajax要更精确。这是一个使用jQuery的简单示例。

$.ajax({
  url: 'url/to/file.json',
  dataType: 'json'
}).done(yourCallback);