gpt4 book ai didi

node.js - 所有连接在应用程序提供服务之前连接

转载 作者:行者123 更新时间:2023-12-02 14:54:13 25 4
gpt4 key购买 nike

我有一个连接到 Redis、Mongo 和 Elasticsearch 的应用程序,但如何确保在提供应用程序之前所有连接都已连接?我注意到 Elasticsearch 通常需要更长的时间,当我使用 Supertest 测试我的应用程序时,数据库已连接,但 console.info('Successively connect to db'); 在测试之前不会登录到控制台开始运行。

server.ts

const client = redis.createClient({ host: process.env.REDIS })


client.on('connect', function () {
console.log('Redis client connected');
});

mongoose
.connect(dbURL)
.then(() => {
return console.info(`Successfully connected to ${db}`);
})
.catch(error => {
console.error('Error connecting to database: ', error);
return process.exit(1);
});
};
const app = express();
export default app;

main.ts

import server from './server'
server.listen(8000)

最佳答案

可以为每个连接导出一个连接Promise

然后在主应用程序中执行此操作

Promise.all([
connectRedisPromise(),
connectMongoPromise(),
connectESPromise(),
]).then(() => {
// start the app
})

关于node.js - 所有连接在应用程序提供服务之前连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59023866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com