【发布时间】:2020-01-02 18:31:56
【问题描述】:
我想编写一个脚本来读取文件并打印一些信息;下面代码的输出是:
预运行异步
POST 运行异步
POST 异步结果:
结束
INSIDE FILE3 readFile 回调函数...
该脚本不打印文件 FILE3 的内容;问题出在哪里?我对承诺/异步/等待感到困惑!我正在使用 nodejs 和 typescript。
import * as fs from "fs";
const FILE3 = "./sample3.txt";
async function readAsyncFile(FILE3: string): Promise<string> {
//const orWithVariable = function readPromise() {
let fileContent: string = "";
fs.readFile(FILE3, "utf8", (err, data) => {
console.log("INSIDE FILE3 readFile callback function...");
if (err) fileContent = "Error reading FILE3";
else fileContent = data;
});
return fileContent;
}
async function runAsync() {
let asyncResult: string = await readAsyncFile(FILE3);
console.log("POST asyncResult: " + asyncResult);
}
console.log("PRE runAsync");
runAsync().then(() => {
console.log("END");
});
console.log("POST runAsync");
预期的输出应该是:
预运行异步
POST 运行异步
POST asyncResult:
--> 这里是 FILE3 的内容 结束
INSIDE FILE3 readFile回调函数...
注意:我正在尝试使用 nodejs 和 typscript 来理解 promise/await/async;谁能告诉我从哪里开始?有很多例子的好简单的教程?谢谢。
【问题讨论】:
标签: typescript asynchronous promise async-await