I have 2 csv's that I'm trying to read in, after which I use the data in those two to do stuff:
function getData() {
  var deferredObject = $.Deferred(); //representation of some asynchronous work 
  d3.csv("./parse_shp.csv", function(data) {
    console.log(data);
    shp_array = data;
  });
  d3.csv("./fao_coutnry_shp.csv", function(data) {
    console.log(data);
    fao_array = data;
  });
  //once both of those are done, resolve the promise 
  deferredObject.resolve();
  return deferredObject.promise();
}
function LevenshteinDistance() {
  console.log("do stuff with the data");
}
//call LevenDistance after the promise has been resolved 
getData().then(LevensteinDistance());
But that's not working... it'll print the line "do something with the data" before printing the data of the csv's. 
What am I doing wrong? I used this link as an example.
I don't understand how connect deferredObject and getData()?  Because even if I create the deferred object in the function, won't it just asynchronously do the csv reads anyway and then erroneously call defferedObject.resolve()?  
Anyway, I'm new to promises so any help would be greatly appreciated!!
 
    