我正在尝试读取一个文件而我希望该逻辑位于函数内部,我做了 - 就在下面,我看到我应该根据promise对象得到结果,但我不确定,下面的代码输出undefined
。请告诉我如何解决这个问题?
var fs = require('fs');
function readAppData() {
var content;
fs.readFile('app-lock.json', function read(err, data) {
if (err) { console.log(err); }
try {
content = JSON.parse(data);
} catch (err) {
console.log(err);
}
}).then(t => {return content});
}
console.log(readAppData())
答案 0 :(得分:1)
您可能希望等待所做的承诺:
function readAppData() {
return new Promise(function(res,thr){
fs.readFile('app-lock.json', function read(err, data) {
if (err) { thr(err);}
try {
res(JSON.parse(data));
} catch (err) {
thr(err);
}
})
})
}
(async function(){
console.log(await readAppData())
})()