Има 2 различни типа грешки при свързване при използване на драйвера MongoDB:
- Грешки по време на първоначалното свързване
- Грешки след установяване на първоначална връзка
Събитието „грешка“ се използва за обработка (2). Изглежда, че търсите правилния начин за справяне с първоначалните грешки при свързване. За тях трябва или да подадете обратно извикване към connect()
или .catch()
на обещанието, че connect()
връща.
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;
}
}