关于接口重复点击出现报错,可能导致卡死的情况

来源: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

感谢同学的回答,后续其他同学也可以当个参考

0
0

Tomas

2023-04-09

可以参考下之前类似问题同学们的讨论哈 http://coding.imooc.com/learn/questiondetail/282131.html

0
1
VyingGao
我把可以采用的解决方式,补充在问题里面了,麻烦老师看下有什么问题。 老师你给的那个链接,其它同学的讨论,我实在有点看不明白。
2023-04-10
共1条回复

Next.js+React+Node系统实战,搞定SSR服务器渲染

Next.js+React+Node系统实战,搞定SSR服务器渲染

421 学习 · 144 问题

查看课程