【发布时间】:2018-11-03 17:43:39
【问题描述】:
const fs = require('fs');
// const util = require('util');
let text = ``;
const files = [`head.txt`,`body.txt`,`leg.txt`,`feet.txt`];
let head,body,leg,feet = ``;
//const readFile = util.promisify(fs.readFile);
function isCompleted(err,data) {
if (err) {
throw err;
}
text = data.toString();
proceedData()
}
function proceedData() {
console.log(text);
return text;
}
function readFileBody() {
fs.readFile(files[1], 'utf8', isCompleted);
}
async function printFiles () {
//head = await fs.readFile(files[0], 'utf8', (err,data) => {if (err) {throw err;}else {head += ` ${data}`}});
body = await readFileBody();
//await fs.readFile(files[2], 'utf8', isCompleted);
//await fs.readFile(files[3], 'utf8', isCompleted);
}
printFiles();
当我在全局范围内使用 console.log(body) 时,它会返回一个 undefined。
当我在本地 printFile 函数中 console.log(body) (不返回)时,它也会返回一个 undefined,但我在本地 isCompleted 中的 console.log(text) 时,它会返回一个文本文件的值。
如何将文本文件的值存储到变量中?
【问题讨论】:
标签: javascript node.js async-await fs