如何从fs.readfile回调函数中获取数据
数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">
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
Like:
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));
或者,您可以使用async
和await
等待输入,阅读有关async的更多信息。
相关文章