Я использую 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: }