Node.js导出返回对象的函数

时间:2018-06-11 07:23:02

标签: node.js sequelize.js

我正在尝试导出我在文件(chat.js)中定义的函数,并将其用于另一个文件(main.js)。

这是chat.js

的代码
module.exports.list = function() {
    var chats;

    sequelize.query('SELECT * FROM Chats', {model: Chats}).then((chat) =>{
    console.log(chat);   
   chats = chat
})
return chat;

};

我在main.js

中使用它时
chat.list();

它按预期工作。

但是当我将返回对象存储到变量并且console.log

时,我得到了未定义

1 个答案:

答案 0 :(得分:1)

您将以last_seen_date方式返回chat个对象,但synchronous查询处理。

使用promise链接或async/await

asynchronous

某处:

module.exports.list = function () {
  var chats;

  return new Promise((resolve, reject) => {
    sequelize
      .query('SELECT * FROM Chats', {model: Chats})
      .then((chat) => {
        console.log(chat);
        resolve(chat);
      })
  })
};