出现Cannot set headers after they are sent to the client的原因,客户端发出一次请求,服务器给出两次及以上响应。
建议大家排查一下接口,清除掉多余的响应。
// 第三方插件
const mysql = require('mysql');// 数据库信息
let dbinfo = {host: '127.0.0.1', //数据库的ip地址user: 'root', //登录数据库的账号password: '123456',//数据库的密码database: 'test', //数据库的名称multipleStatements: true, // 支持执行多条 sql 语句
}// 定义公共的数据库查询方法,传入三个参数 sql语句,res,参数:前两个为必传,参数不传默认为空数组
let db = function (sql, res, params = []) {return new Promise((resolve, reject) => {// 一、新建一个连接池let pool = atePool(dbinfo)// 二、连接Connection((error, connection) => {// 三、使用sql语句操作connection.query(sql, params, (err, results, fields) => {if (err) {// res是调用接口时,如果执行mysql执行出错,直接返回报错信息res.send({code: 500,status: false,msg: "服务器内部错误:" + ssage})} else {resolve(results)}// 四、释放连接池lease()})})})
}
调用db方法示例
// router是express框架的路由 , db为我们定义的mysql查询方法
const { router , utilSuccess , utilErr , db } = require('../../util/util');router.post('/deleteWxuser', (req,res)=>{let { id } = req.body,deleteSql = 'delete from wxuser where id in (?)';db( deleteSql , res , [ id ] ).then( sqldata =>{if( sqldata.affectedRows ){res.send({...utilSuccess,msg: "删除用户成功"})}else{res.send({...utilErr,msg: "删除用户失败",})}})
})
本文发布于:2024-02-02 10:37:48,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170684146943247.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |