我正在尝试导出我在文件 ( 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
时,我得到了未定义
最佳答案
您以 chat
方式返回 synchronous
对象,但其 asynchronous
查询处理。
使用 promise
链接或 async/await
。
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);
})
})
};
某处:
function async test(){
let result = await chat.list();
console.log(result);
}
关于Node.js 导出一个返回对象的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50792341/