mysql - NodeJS Mysql结束功能停止工作?
问题描述
一直在使用 nodejs mysql 包构建一个带有 mysql 数据库的网站。
停止工作了几个星期。
在没有更改代码的情况下,返回并意识到 mysql 包中的 end 函数似乎不再起作用。
我使用这样的异步函数:
app.get('/', (req, res) => {
async function homeResponse(){
try{
var db = createConnection();
await conquerie.connect(db);
// get stuff from db
await conquerie.end(db);
}catch(err){
console.log(err);
res.render('error');
}
}
homeResponse();
});
上面提到的征服 js 使用:
function connect(db){
let connectpromise = new Promise(function(resolve, reject){
db.connect((err) => {
if(err){
console.log('ERROR COULD NOT CONNECT NERD');
reject(err);
}
console.log('Connected to the DB!!!');
resolve();
});
});
return connectpromise;
}
function end(db){
let endpromise = new Promise(function(resolve, reject){
db.end((err) =>{
if(err){
console.log('cant end connecty');
reject(err);
}
console.log('DB Connection ended!!!');
resolve();
});
});
return endpromise;
}
DB Connect 工作正常,从 DB 中提取信息没有问题,end 不起作用。
它在 db.end 上捕获错误并返回“无法结束连接”。
连接没有结束。如果我删除该捕获,我会收到 PROTOCOL_SEQUENCE_TIMEOUT 错误。
我试过异步和同步,没有变化。
有最新版本的 mysql 包,网上没有其他人提到这个,所以我猜这一定是我做的。
非常感谢任何建议。谢谢!~
解决方案
推荐阅读
- c# - 如何防止HttpClient在发送请求时产生新行?
- swift - 如何在不使用 seague 和 storyboard 的情况下将数据从一个视图控制器传递到另一个视图控制器
- api - API 需要验证码是设计缺陷吗?
- javafx - 从新添加的窗格中分配控制器中的 FXML 元素 - JavaFX
- php - tesseract-php 包装器在本地主机上运行时出现路径错误
- javascript - 防止在页面刷新时重置倒数计时器 - Django & JS
- reactjs - 如何在反应中的 this.state.forEach 语句中抛出错误
- excel - 在 msgbox 提示中使用 inputbox 的输入
- java - 如何从 .csv 文件中拆分数据集以在 java 中进行训练和测试?
- oracle - 如何在客户端机器上部署 oracle apex 应用程序