Il existe 2 types distincts d'erreurs de connexion lors de l'utilisation du pilote MongoDB :
- Erreurs lors de la connexion initiale
- Erreurs après l'établissement de la connexion initiale
L'événement 'error' est utilisé pour gérer (2). Il semble que vous recherchiez la bonne façon de gérer les erreurs de connexion initiales. Pour ceux-ci, vous devez soit passer un rappel à connect()
ou .catch()
sur la promesse que connect()
renvoie.
const NUM_RETRIES = 3;
const delay = 1000;
let error = null;
for (let i = 0; i < NUM_RETRIES; ++i) {
if (i > 0) {
await new Promise(resolve => setTimeout(resolve, i * delay));
}
try {
await mdb.MongoClient.connect(uri);
break;
} catch (err) {
error = err;
}
}