如何从 fs.readfile 回调函数获取数据



const fs = require('fs');
let input = [];
fs.readFile('input.txt',(err,data)=>{
if(err) throw err;
input = data.toString().split(' ');
})
console.log(input);

我想将数据检索到输入数组中,但我没有得到它。

callbacks函数意味着当数据出现时你想做什么?

这意味着节点将开始读取文件并实现下一行,而无需等待数据在实现您的console.log之前出现。

您可以将其设置为返回如下promise的函数:

const fs = require('fs');
function getInput() {
return new Promise((resolve, reject) => {
let input = [];
fs.readFile('input.txt',(err,data)=>{
if(err) return reject(err);
var input = data.toString().split(' ');
return resolve(input);
})
});
}
getInput().then(input => console.log(input));

或者,您可以使用asyncawait等待输入,阅读有关异步的更多信息。

最新更新