Не знаете, зачем вам нужен бесконечный рекурсивный вызов во время исключения. Вы должны изменить свой дизайн, чтобы ограничить повтор.
Во всяком случае для вышеуказанного сценария ниже код может помочь
let mysql=require('mysql')
query(sql,args,count=0){
return new Promise((resolve,reject)=>{
let query_data = () => {
let con=mysql.createConnection(configs[this.config])
con.query(sql,args,(e,r)=>{
if(e){
if(e.code=='ER_CON_COUNT_ERROR'){
reject(e)
}
r=false
}
con.end(e=>{
return resolve(r)
})
})
}
try {
query_data();
} catch(e) {
// statements
console.log(e);
setTimeout(query_data, 3000);
}
})
}
Оказывается, проблема была вызвана Stop debugger when browser window is closed
в опциях, я отключил это, и проблема была устранена.
Инструменты> Параметры> Проекты и решения> Веб-проекты