Обновление: Ну да, это было так же просто, как завершение вызова Wreck.get()
в блоке try… catch
.Никаких дополнительных действий по этому вопросу не требуется.
Я запрашиваю данные с удаленного сервера, используя следующий простой код
const {res, payload} = await Wreck.get(uri);
Если по какой-либо причине удаленный сервер недоступен (сетьвниз, кто-то отключил маршрутизатор, что угодно), hapijs
(версия 17) выходит с фатальной ошибкой
{ Error: getaddrinfo ENOTFOUND remote.org remote.org:443
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:57:26)
errno: 'ENOTFOUND',
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'remote.org',
host: 'remote.org',
port: 443,
trace:
[ { method: 'GET',
url:
'https://remote.org/api/…' } ],
isBoom: true,
isServer: true,
data: null,
output:
{ statusCode: 502,
payload:
{ message:
'Client request error: getaddrinfo ENOTFOUND remote.org remote.org:443',
statusCode: 502,
error: 'Bad Gateway' },
headers: {} },
reformat: [Function] }
Я бы предпочел, чтобы сообщение об ошибке возвращалось, но hapijs
продолжает работать.Как мне это сделать?