Esistono 2 tipi distinti di errori di connessione quando si utilizza il driver MongoDB:
- Errori durante la connessione iniziale
- Errori dopo che è stata stabilita la connessione iniziale
L'evento 'errore' viene utilizzato per gestire (2). Sembra che tu stia cercando il modo corretto per gestire gli errori di connessione iniziali. Per quelli, dovresti passare un callback a connect()
o .catch()
sulla promessa che connect()
resi.
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;
}
}