先贴代码
const {
log
} = require('console')
const express = require('express')
const route = express.Router()
const parseUrl = require('url')
const querystring = require('querystring')
const mysql = require('mysql') //mysql
const pool = require('../config/configdb.js')
const mongoose = require('mongoose')
const {
send
} = require('express/lib/response')
//sql查询封装
function sqlQuery(sql, callback) {
pool.getConnection((err, conn, next) => {
if (err) {
throw (err)
console.log(err)
} else {
conn.query(sql, function(err, data) {
if (err) throw err //如果有错误信息,抛出错误
callback(data)
})
conn.release(() => {
log('数据库连接关闭')
}) //查询完毕,关闭链接
}
})
}
route.post('/API/getinform', (req, res) => {
var pageNum = req.body.page; //当前页
var total = 0 //总数
var start, end; //起始、结束条
if (pageNum == undefined) { //收不到传值时
pageNum = 1;
start = 0;
end = 10;
} else { //收到数据时
start = (pageNum - 1) * 13; //当前页-1*13为展示的起始条
end = pageNum * 13; //结束条
}
sqlQuery('select * from gonggao', (data) => {
log(data.length) //此处输出16,获取到了
total = data.length //将长度给total
})
log(total) //此处应该为16 但是是0 为什么?
pool.getConnection((err, conn, next) => {
if (err) {
throw (err)
console.log(err)
} else {
let sql = 'select *,(select Count(*) from gonggao) as Count from gonggao limit ?,?';
conn.query(sql, [start, end], (err, data) => {
if (err) {
throw err
console.log(err)
} else {
res.send({
data,
pageNum,
//total
});
conn.release();
}
})
}
})
})
问题在接口里面
sqlQuery('select * from gonggao', (data) => {
log(data.length) //此处输出16,获取到了
total = data.length //将长度给total
})
log(total) //此处应该为16 但是是0 为什么?