Er zijn 2 verschillende soorten verbindingsfouten bij het gebruik van het MongoDB-stuurprogramma:
- Fouten tijdens eerste verbinding
- Fouten nadat de eerste verbinding tot stand is gebracht
De gebeurtenis 'error' wordt gebruikt om (2) af te handelen. Het lijkt erop dat u op zoek bent naar de juiste manier om initiële verbindingsfouten af te handelen. Hiervoor moet u ofwel een callback doorgeven aan connect()
of .catch()
op de belofte dat connect()
retourneert.
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;
}
}