Если вы просто хотите продолжать подключение до тех пор, пока соединение не будет установлено, вы можете заключить метод getConnect
в новый метод keepConnect
:
keepConnect = async () => {
while (true) {
try {
let conn = await getConnect()
return conn
} catch (e) {}
}
}
Но я думаю, что было бы лучшереализовать что-то вроде «попытаться подключиться n раз», изменив условие while
.В общем случае решение «в то время как истина» не является чистым и может работать плохо, что может привести к замедлению цикла обработки событий (представьте, что метод connect всегда будет возвращать ошибку в течение нескольких миллисекунд).
Вы также можете реализовать систему прогрессивных задержек между попытками подключения, используя в качестве идеи оболочку keepConnect
.
Если вы вместо этого хотите восстановить соединение при потере соединения, то это связаноКролику (что я не знаю) и его событиям.