Ada 2 jenis kesalahan koneksi yang berbeda saat menggunakan driver MongoDB:
- Kesalahan selama koneksi awal
- Kesalahan setelah koneksi awal dibuat
Acara 'kesalahan' digunakan untuk menangani (2). Sepertinya Anda sedang mencari cara yang benar untuk menangani kesalahan koneksi awal. Untuk itu, Anda harus meneruskan panggilan balik ke connect()
atau .catch()
dengan janji bahwa connect()
kembali.
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;
}
}