关于接口重复点击出现报错,可能导致卡死的情况
来源:4-15 使用cookie实现全局登录状态保持-2

VyingGao
2023-04-06
我在 Api 工具里做登录接口测试时,前后点了两次发送,发现有报错:
Cannot create a “default” connection because connection to the database already established.
查了下资料,说是在创建新的连接时,已经存在默认的数据库连接。
——————————————————————————————————————————
查阅资料后的解决方式如下,若有问题请及时指出
这个错误提示说明,在应用中已经存在一个默认的数据库连接,无法再次创建一个新的默认连接。
这通常是因为,在应用中多次调用了创建连接的方法,导致创建了多个数据库连接。
解决这个问题,可以在应用中只创建一个数据库连接,并在需要使用数据库连接的地方重复使用它。
若使用的是早期版本的 TypeORM,即支持 createConnection 方法的版本,解决方式如下:
const connection = await createConnection({ /*数据库配置*/ }); // 创建连接
global.connection = connection; // 将连接对象存储在全局变量中,需要时调用这个全局对象
若使用的是新版本的 TypeORM,已不支持任何 connection 方法,解决方式如下:
const AppDataSource = new DataSource({ /*数据库配置*/ }); // 数据源
const AppDataSourceInit = AppDataSource.initialize(); // 初始化方法
AppDataSourceInit.then(async () => { /*数据库相关操作*/ }).catch(error => console.log(error));
写回答
2回答
-
Tomas
2023-04-11
感谢同学的回答,后续其他同学也可以当个参考
00 -
Tomas
2023-04-09
可以参考下之前类似问题同学们的讨论哈 http://coding.imooc.com/learn/questiondetail/282131.html
012023-04-10
相似问题