完成mysql回调函数
我怎样才能完成mysql回调函数,而不让它转到下一行呢 连接文件:完成mysql回调函数,mysql,node.js,Mysql,Node.js,我怎样才能完成mysql回调函数,而不让它转到下一行呢 连接文件: var mysql = require("mysql"); var connection = mysql.createPool(//database details); function logIn(name, password) { connection.getConnection(function(err, connection) { connection.query("
var mysql = require("mysql");
var connection = mysql.createPool(//database details);
function logIn(name, password) {
connection.getConnection(function(err, connection) {
connection.query("SELECT * FROM //database where name=\"" + name + "\" AND password=\"" + password + "\"", function(err, data) {
console.log("model:" + data);
return data;
}
});
exports.logIn = logIn;
查看文件:
var express = require("express");
var bodyParser = require("body-parser");
var model = require(//model file);
var router = express.Router();
router.post("//url", function (req, res, next) {
var name = req.body.name;
var password = req.body.password;
var data = model.logIn(name, password);
console.log("main:" + data);
});
module.exports = router;
控制台显示:
主:未定义
model:[对象对象]您可以从
登录
功能返回承诺:
function logIn(name, password) {
return new Promise(((resolve) => {
connection.getConnection(function(err, connection) {
connection.query("SELECT * FROM //database where name=\"" + name + "\" AND password=\"" + password + "\"", function(err, data) {
console.log("model:" + data);
resolve(data);
})
})
}))
}
和等待它在路由处理程序中的解析:
router.post("//url", async function (req, res, next) {
var name = req.body.name;
var password = req.body.password;
var data = await model.logIn(name, password);
console.log("main:" + data);
});