如何从文件中读取数据,将其传递给另一个函数并返回函数的返回值?

时间:2017-09-29 03:15:56

标签: javascript node.js callback fs

我试图在调用final()时返回arr ....

  function final(){
        var arr;
        fs.readFile("/my/path/", 'utf8' ,(err, data) => {
            arr = parsing(data);
            arr.splice(-1,1);


      });
        return arr;
    }

它不断返回undefined。即使readFile括号内的arr给我一个数组......

可能的副本讨论了打印,而我需要一个值来在其他地方使用。 如何在另一个函数/模块中使用值arr?

2 个答案:

答案 0 :(得分:0)

function final(){ var arr; fs.readFile("/my/path/", 'utf8' ,(err, data) => { arr = parsing(data); arr.splice(-1,1); return arr; }); } 是您需要执行的异步功能

doc.css('span[class^="classname-"]').each{|el| el.delete 'class'}

答案 1 :(得分:0)

或将回调函数传递给最终函数

function callback(arr) {
//do something with arr
}

function final(callback) {
    var arr;
    fs.readFile("/my/path/", 'utf8' ,(err, data) => {
        arr = parsing(data);
        arr.splice(-1,1);
        callback(arr);
    });
} 

由于@Farhan Yassen的答案因异步性质而无法获得正确的行为。

此外,您始终可以将readFile的同步版本与readFileSync

一起使用