I'm working on a module that returns a the data retrieved from an http request using the request module. However, I'm having a problem when I want to pass the data out of the function. Take this, for example.  
function getData(term) {
    var parsedData
    request.post(url, term, (err, response, body) => {
        if (!err && response.statusCode == 200) {
              parsedData = doSomethingTo(body);
        }
    });
    return parsedData;
}
This method doesn't work, since the function getData() performs asynchronously and the value is returned before the request can actually return the proper data.
function getData(term) {
    var parsedData
    request.post(url, term, (err, response, body) => {
        if (!err && response.statusCode == 200) {
              parsedData = doSomethingTo(body);
              return parsedData;
        }
    });
}
This method doesn't work either, as it will merely make the request function return the parsed data, and not the getData function.
How could I make the parent function return the data parsed from the request function?
 
     
    