有效返回的对象变量数组打印为未定义

时间:2018-10-02 11:09:57

标签: javascript node.js ecmascript-6

我有一个遍历对象(数据)的函数,针对匹配的“ title” 属性过滤对象,并返回对象(notesObj )。返回变量在返回之前将打印正确的对象输出。但是返回的值在调用变量 readNote 中打印为 undefined
         我无法解决这个问题。

返回的输出值:-

[{"title":"MARKET","description":"BUY MILK"}]

功能:-

var read=(title)=> {
    var output=[];
    console.log(`NOTE WITH TITLE:-'${title}'`);
    fs.readFile('./notes_app_data.txt', function(err,data) {
        if (err) {
            console.log('ERROR READING DATA FROM THE FILE');
            return output;
        } else {
            console.log('in else block');
            data=JSON.parse(data); // data is an Array of Object.
            output=data.filter((notesObj)=> notesObj["title"]===title); 
            console.log ('output'+JSON.stringify(output));
            return (output);
        }
    });
}

呼叫功能代码:-

const myFunc=require('./function_file_node.js')
const yargs=require('yargs');
const util=require('util');  
const operation=yargs.argv._;

if (operation=='read') {
var readNote=myFunc.read(yargs.argv.title);
console.log('readNote:-'+readNote);
}

阅读说明:-未定义

0 个答案:

没有答案