Question: Is there a way to use an event to call a function when the JSON.Parse() has parsed all the objects from a file?

Answer: 
`JSON.parse` is synchronous. it returns the object corresponding to the given JSON text.

More about it from [mozilla](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse)

now a good way of doing JSON.parse is shown below (inside a 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 ?
}

```

Now there are discussions, about why `JSON.parse` is not async, like the [ONE HERE](https://www.reddit.com/r/javascript/comments/2uc7gv/its_2015_why_the_hell_is_jsonparse_synchronous/)
**EDIT: Since question was changed.**

JSON.parse() is a synchronous method, meaning that once it's called it will execute fully, before code execution continues.

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

```

---

JSON.parse, doesn't actually load any files. It's also synchronous, meaning that code execution resume, after it has finished it's function, which is to parse a valid JSON string, to a JavaScript object.

If you want to execute a callback after a file has loaded, you'd need to look into requests, and ajax to be more precise. Here's a simple example using jQuery.

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

```