Using readFile json to return array messages, object return empty array, why?
My code:
var fs = require("fs"); // filesystem
class Message {
constructor() {
this._message_list = [];
}
set message_list(val) {
this._message_list = val;
}
get message_list() {
return this._message_list;
}
getMessages() {
fs.readFile("./models/messages-list.json", "utf8", (err, data) => {
if(err){
return err;
}
// append array messages
this._message_list = Object.keys(JSON.parse(data));
console.log(this._message_list); // return ["message 1", "message 2"]
});
return this._message_list; // return array messages
}
}
module.exports = {
Message
};
var Message = require("./models/message");
let mensagem = null;
mensagem = new Message.Message();
console.log( mensagem.getMessages()); //return []
How return my array messages? Way my this._message_list return empty array?