Při použití ovladače MongoDB existují 2 různé typy chyb připojení:
- Chyby během počátečního připojení
- Chyby po navázání počátečního připojení
Událost 'chyba' se používá ke zpracování (2). Vypadá to, že hledáte správný způsob řešení počátečních chyb připojení. Pro ty byste měli buď předat zpětné volání connect()
nebo .catch()
na příslib, že connect()
vrátí.
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;
}
}