Just load your JSON data as early as possible.  What are you waiting
for to not load the data immediately after the 'document is ready' ?

cbandes schreef:
> Hi -
>
> I have a simple json file which contains a list of key/path pairs, the
> idea is that I will use this to update the links in a nav menu.
>
> In order to do this, I am using getJSON to load and parse the data,
> like so:
>
> var pathAssoc = new Array();
> var pathVar = null;
>
> function getPathData(){
>       $.getJSON("js/paths.js", function(data){ //gets the json object
>                       //alert(data.paths[1].name);
>                       //pathArray = data.paths; //creates an array out of our 
> returned
> data
>                       for( var i in data.paths){
>                               var name = data.paths[i].name;
>                               var path = data.paths[i].path;
>                               pathAssoc[name]=path;
>                       }
>                       if((page!="")&&(path!="")){
>                               restoreLocation();
>                       }
>               });
> }
>
> My problem is that since it's an asynchronous request, other functions
> are trying to access pathAssoc before it is ready. What event should I
> be using/listening for in order to make sure pathAssoc is populated
> before continuing?
>
> Current dependent functions:
>
> function getPagePath(name){
>       pathVar = pathAssoc[name];
>       }
>
> So if I call getPagePath() before getPathData() is finished,
> everything (predictably) breaks...

Reply via email to