1 回答

TA貢獻(xiàn)1866條經(jīng)驗(yàn) 獲得超5個(gè)贊
async據(jù)我了解,您已經(jīng)使用and包裝了導(dǎo)出的函數(shù)await:
module.exports = function(id) {
return new Promise((resolve, reject) => {
const pool = require('../loaders/pool.js')();
pool.query(
"SELECT * FROM dealerships WHERE id = '" + id + "';",
(err, res) => {
if (err) {
console.error(err.stack);
reject(err);
}
else {
resolve(res.rows[0]);
}
}
);
});
};
所以現(xiàn)在只需在調(diào)用代碼中使用asyncand :await
async function getData() {
const dealership = await require('../models/getDealershipById.js')(id);
const dealershipLeads = await require('../models/getLeadsByDealershipId.js')(dealership.id);
const dealershipStaff = await require('../models/getStaffByDealershipId.js')(dealership.id);
}
getData()
重要提示:作為旁注,請(qǐng)避免"SELECT * FROM dealerships WHERE id = '" + id + "';",因?yàn)檫@是一個(gè)真正糟糕的安全反模式,如果id未正確清理,它很容易允許 SQL 代碼注入。pool.query("SELECT * FROM dealerships WHERE id = ?", [id], ...)如果您的驅(qū)動(dòng)程序允許,請(qǐng)使用類似的東西,或者將其替換為允許的驅(qū)動(dòng)程序或包裝器。
添加回答
舉報(bào)