【发布时间】:2020-10-18 18:06:13
【问题描述】:
我是后端开发的新手,正在学习基础知识,所以不要太担心我的代码质量。
基本上,如果您想将查询包装在抽象层中,我想了解如何将特定查询包装到从查询中返回数据的函数中。例如,在这个函数中,
async retrieveUserOfCompany(companyName) {
this.client.connect()
await this.client.query("SELECT * FROM Company WHERE compname = '" + companyName + "';", (err, res) => {
return res.rows;
this.client.end()
});
}
我正在从一家公司返回一些数据。但是,当我调用该函数时,我得到查询返回未定义。我将如何解决这个问题?我已经弄清楚这是因为 db 调用是异步的,所以我尝试将 async 和 await 合并到函数中,但我不相信我完全正确。
【问题讨论】:
-
当您想使用 Promise(和
await)时,不要将回调传递给query。 -
和你上一个问题一样,这仍然存在 SQL 注入安全问题。
标签: javascript node.js