Vik*_*vin 7 javascript node.js async-await
我有以下代码检查文件是否存在,如果存在,则从中解析 JSON 数据:
fs.access(dbPath, (err) => {
if (err) throw err
else{
console.log('Database found. Processing data.');
dbObj = processDatabaseFile(dbPath);
console.log('checkonstartup: '+dbObj);
return;
}
});
Run Code Online (Sandbox Code Playgroud)
这是 processDatabaseFile:
function processDatabaseFile(path){
fs.readFile(path, (err, data) =>{
if (err) throw err;
let jsonData = JSON.parse(data);
return jsonData;
})
}
Run Code Online (Sandbox Code Playgroud)
我的问题是当 fs.access 函数被调用时,它比返回更快processDatabaseFile(dbPath)返回。例如。我想让它使用异步等待,但我不知道该怎么做。
尝试放置async (err) => { ...声明然后使用,
dbObj = await processDatabaseFile(dbPath)但它会在 if-else 和分号以及缺少括号周围给出错误。
反馈表示赞赏。
编辑:关于添加 async-await 的错误。我正在使用 VSCode,结果发现 ESLint 和 JSHint 相互冲突。
小智 14
您可以使用以下语法使粗箭头函数异步。
const asyncFunc = async () => {
const result = await someAsyncFunc();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6231 次 |
| 最近记录: |