【发布时间】:2021-08-09 11:30:09
【问题描述】:
不幸的是,我在 js 知识方面与大多数人相距甚远,并且一次又一次地遇到问题,以同步顺序设计我的应用程序的工作流程! 主要的事情-我不明白以简单的方式设计像这样的readfile-code之类的东西-代码部分位于块下,执行某些操作和(在这种情况下)加载数据,在执行之前不要执行块完成 - 并且(就像在这种情况下)数据(sKey)保持未定义,尽管块本身的控制台确认它定义正确?! 可能是 EXPRESS 特有的东西 - 但这个 js 必须在 EXPRESS 中运行 - 任何建议都可能有帮助!
'''const fsBase = require('fs');
const fs = fsBase.promises;
const fn = async () => {
const data = await fs.readFile('example.txt', 'utf8');
console.log("in readfile: " + data);
//works perfectly
return data;
};
sKey = fn();
console.log("after readfile: " + sKey);
//returns sKey undef'''
【问题讨论】:
-
在您发布的代码中,
sKey绝对不是undefined,而是一个承诺。请提供minimal reproducible example。
标签: express async-await fs