Как игнорировать "Ошибка: java.net.NoRouteToHostException с использованием Nativescript - PullRequest
0 голосов
/ 15 февраля 2019

Я использую async/await.

У меня есть сетевое устройство, которое имеет IP-адрес от маршрутизатора.Моя работа состоит в том, чтобы найти IP-адрес, который получило это устройство.Я принимал участие в том, чтобы отправить запрос на все IP-адреса.Запрос, поступающий в пункт назначения, принимает ответ (файл JSON).Запросы, которые не приходят в пункт назначения, не получают ответ и возвращаются («сообщение»: «Http-сбой для (неизвестный URL-адрес): 0 неизвестная ошибка»).Приведенный ниже код отправляет запрос на IP-адрес и ожидает ответа, отправляет запрос на другой IP-адрес и ожидает ответа и т. Д. При выполнении запросов.Часто во время выполнения этой функции программа закрывается.Я хочу сделать правильный ответ, чтобы появиться.У вас есть идеи?

async getip(s: any) {
    if (s !== '') {
        for (let i = 1; i < 256; i++) {
            this.ws.findtip(s + '.' + i).subscribe(res => {
                if (res) {
                    console.log(res)
                }
            }, (error: any) => {
                console.log('got error', error);
            })
            await new Promise((resolve, reject) => setTimeout(resolve, 1000));
        }
    }
}

Ошибка:

JS: {
JS:   "headers": {
JS:     "normalizedNames": {},
JS:     "lazyUpdate": null,
JS:     "headers": {}
JS:   },
JS:   "status": 0,
JS:   "statusText": "Unknown Error",
JS:   "url": null,
JS:   "ok": false,
JS:   "name": "HttpErrorResponse",
JS:   "message": "Http failure response for (unknown url): 0 Unknown Error",
JS:   "error": {
JS:     "originalStack": "Error: java.net.NoRouteToHostException: No route to host\n    at new c (file:///data/data/org.nativescript.project/files/app/vendor.js:1:1217836)\n    at file:///data/data/org.nativescript.project/files/app/vendor.js:1:1083876\n    at Object.onComplete (file:///data/data/org.nativescript.project/files/app/vendor.js:1:1084998)",
JS:     "zoneAwareStack": "Error: java.net.NoRouteToHostException: No route to host\n    at new c (file:///data/data/org.nativescript.project/files/app/vendor.js:1:1217836)\n    at file:///data/data/org.nativescript.project/files/app/vendor.js:1:1083876\n    at Object.onComplete (file:///data/data/org.nativescript.project/files/app/vendor.js:1:1084998)"
JS:   }
...