Det finns två olika typer av anslutningsfel när du använder MongoDB-drivrutinen:
- Fel under första anslutningen
- Fel efter att den första anslutningen har upprättats
Händelsen 'fel' används för att hantera (2). Det verkar som att du letar efter rätt sätt att hantera initiala anslutningsfel. För dessa bör du antingen skicka en återuppringning till connect()
eller .catch()
på löftet att connect()
returnerar.
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;
}
}