Javascript 如何在NodeJS中读取文件()?
我只是在研究Node.JS,我有一个问题 我必须读一个文件。我使用“fs”节点和“fs.readFile”func来实现。 这是一个密码Javascript 如何在NodeJS中读取文件()?,javascript,node.js,asynchronous,Javascript,Node.js,Asynchronous,我只是在研究Node.JS,我有一个问题 我必须读一个文件。我使用“fs”节点和“fs.readFile”func来实现。 这是一个密码 const fs = require('fs'); let input; fs.readFile('./'+config.file, (err, data) => { input = data.toString('utf-8'); }); console.log(input) //!!! it gives me 'undefined' res
const fs = require('fs');
let input;
fs.readFile('./'+config.file, (err, data) => {
input = data.toString('utf-8');
});
console.log(input) //!!! it gives me 'undefined' result but i expect file's data
我不知道如何解决这个问题。只有我知道这是异步函数
希望您能帮助我:3它是异步的,因此它将首先执行同步代码,这就是为什么输入仍然未定义。首先执行同步代码,然后执行异步代码。因为fs.readFile是异步的,所以它将在 这应该记录您的输入
有关异步代码的详细信息,请参见,因为您的代码是异步的,所以将在文件读取完成之前记录您的变量。 您可以使用函数并返回承诺:
@RolandStarke您不知道是否存在这样的错误,因为它是断开的异步代码;非常感谢,但是id还不能解决我的问题。我只想在*之外使用'input'变量。这个东西包括。然后像同步代码一样
const fs = require('fs');
let input;
fs.readFile('./'+config.file, (err, data) => {
input = data.toString('utf-8');
console.log(input)
});
const fs = require('fs');
function myReadFile() {
return new Promise((resolve, reject) => {
fs.readFile('myfile.txt', (err, data) => {
if (err) reject(err);
resolve(data.toString());
});
})
}
myReadFile().then((contents) => {
console.log(contents)
});