Có 2 loại lỗi kết nối riêng biệt khi sử dụng trình điều khiển MongoDB:
- Lỗi trong quá trình kết nối ban đầu
- Lỗi sau khi kết nối ban đầu được thiết lập
Sự kiện 'lỗi' được sử dụng để xử lý (2). Có vẻ như bạn đang tìm cách chính xác để xử lý các lỗi kết nối ban đầu. Đối với những người đó, bạn nên chuyển một lệnh gọi lại đến connect()
hoặc .catch()
với lời hứa rằng connect()
lợi nhuận.
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;
}
}