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