我正在使用Node.js与SQL Server。如果第一次连接失败,Node.js不会重新尝试连接。我使用
上述代码尝试连接,失败后第二次尝试,但不会继续进行第三、第四等尝试。
setTimeout()
定期重试直到连接成功。const poolPromise = new sql.ConnectionPool(config.db);
poolPromise
.connect()
.then(pool => {
console.log('Connected to MSSQL');
return pool;
})
.catch(err => {
if (err && err.message.match(/Failed to connect to /)) {
console.log(new Date(), String(err));
// Wait for a bit, then try to connect again
setTimeout(function() {
console.log('Retrying first connect...');
poolPromise.connect().catch(() => {});
}, 5000);
} else {
console.error(new Date(), String(err.message));
}
});
上述代码尝试连接,失败后第二次尝试,但不会继续进行第三、第四等尝试。