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

2022-05-31 00:00:00 node.js javascript fs
数据-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

您可以将其设置为返回promiseLike:

的函数
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等待输入,阅读有关async的更多信息。

相关文章