I am new to javascript asynchronous concepts and come from a C++ background. Recently, I realize that some of my functions do not work because they do not return promises.
For example, this function;
var CSVConverter=require("csvtojson").Converter;
function get_json(cvs_file_location)
{
var data=fs.readFileSync(cvs_file_location).toString();
var csvConverter=new CSVConverter();
csvConverter.fromString(data,function(err,jsonObj){
if (err){
console.log("error msg: " + err);
return null;
}
var json_csv = clone_obj(jsonObj);
console.log(json_csv);
return json_csv;
});
}
If I try to assign a variable based on the function's return value, I get undefined.
var alerts_obj = get_json(testData);
How can get_json()
be modified to return promises? I would like to use Bluebird. I am reading up on promises but it is rather overwhelming at the moment for a beginner.