我是异步编码的新手
我正在使用 csvtojson 库,我正在尝试转换 csv 文件并将结果传递到另一个模块。
convert() 函数如下所示:
convert: function (csvFilePath) {
return new Promise((resolve, reject) => {
const options = { delimiter: ["|",","],
noHeader: true ,
headers: ["header1", "header2"]
}
csv(options)
.fromFile(csvFilePath)
.on('end_parsed',(convertedJson) => {
resolve(convertedJson);
})
.on("done",(error) => {
reject(error);
})
});
}
我的电话:
const converter = require ("./converter")();
let json;
json = converter.convert("./importSample.csv");
console.log(json);
当我执行代码时,我可以看到 promise 仍处于挂起状态:
Promise { <pending> }
我认为我必须使用 .then()
功能,但我不知道在哪里或如何。
最佳答案
从 converter
函数你得到了 promise ,并且那个对象有方法 then
。你应该做这样的事情。
const converter = require ("./converter")();
converter.convert("./importSample.csv").then(json => {
console.log(json);
}).catch(error => {
console.log(error);
});
关于javascript - Node.js 无法履行 promise (Promise { <pending> }),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41874198/