【发布时间】:2016-02-08 05:46:42
【问题描述】:
我是 javascript 异步概念的新手,具有 C++ 背景。最近,我意识到我的一些函数不起作用,因为它们不返回承诺。
比如这个函数;
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;
});
}
如果我尝试根据函数的返回值分配一个变量,我会得到未定义的结果。
var alerts_obj = get_json(testData);
如何修改get_json() 以返回承诺?我想用蓝鸟。我正在阅读 Promise,但目前对于初学者来说相当难以接受。
【问题讨论】:
标签: javascript node.js promise bluebird