如何在callback函数中使用express.send(例如nodejs中的mysqljs使用)

我在express中使用express和mysqljs。如果我要求我的数据库添加一个用户,我必须定义一个callback函数来处理响应。 不幸的是,我不能在callback函数中表示res.send。我想发送insertID到res.send方法。我怎么做? 这是我的代码。

app.post("/adduser", (req, res) => { const con = mysql.createConnection({ host: "localhost", user: "root", password: "", database: "customer" }); const name = req.body.name; const age = req.body.age; const users = { name: name, age: age }; const query = "INSERT INTO users SET ?"; con.query(query, users, (err, res) => { if (err) throw err; console.log("Last insert ID:", res.insertId); // want to send res.insertId to server // res.send() here }); }); 

我想你正在使用相同的variables名'res''响应'和'结果'。

正如文档所说,con.query返回“结果”而不是“res”。 https://github.com/mysqljs/mysql#performing-queries

 app.post("/adduser", (req, res) => { const con = mysql.createConnection({ host: "localhost", user: "root", password: "", database: "customer" }); const name = req.body.name; const age = req.body.age; const users = { name: name, age: age }; const query = "INSERT INTO users SET ?"; con.query(query, users, (err, result) => { if (err) throw err; console.log("Last insert ID:", result.insertId); // want to send result.insertId to server // res.send() here // res.send(result.insertId); // gives an error res.send(result.insertId.toString()); }); });