Не удалось найти источник необработанного события "ошибка" ETIMEDOUT - PullRequest
0 голосов
/ 17 июня 2020

Я создаю приложение, которое обменивается данными с локальным сервером через HTTP-запросы, я решил провести «настоящий» тест, и он продолжает выдавать ошибки, но я не могу отследить, откуда возникает ошибка, трассировка стека мне не сообщает откуда это происходит (в моем приложении). Когда я запускаю свое приложение, оно работает в течение 20-30 секунд, ему удается получать / отправлять данные на этот локальный веб-сервер, но через 20-30 секунд я получаю следующую ошибку:

events.js:287
      throw er; // Unhandled 'error' event
      ^

Error: connect ETIMEDOUT 192.168.55.213:80
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16)
Emitted 'error' event on ClientRequest instance at:
    at Socket.socketErrorListener (_http_client.js:426:9)
    at Socket.emit (events.js:310:20)
    at emitErrorNT (internal/streams/destroy.js:92:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
    at processTicksAndRejections (internal/process/task_queues.js:84:21) {
  errno: 'ETIMEDOUT',
  code: 'ETIMEDOUT',
  syscall: 'connect',
  address: '192.168.55.213',
  port: 80
}

Я перепробовал все мои http-запросы в блоке try / catch и регистрировать ошибки, чтобы попытаться определить, откуда они происходят, но ничего, try / catchches не работают, потому что ошибка все еще генерируется, поэтому она не из моих http-запросов, и я не могу понять причину ошибки. Мои запросы выглядят примерно так:

async RequestFunction(requesturl) {
    return new Promise((resolve, reject) => {
    try {
            http.get(requesturl, (resp) => { 
                let data = "";
                resp.on('data', (chunk) => data += chunk)
                resolve(data)
            });
        } catch (error) {
            console.log(`${requesturl}+${error.code}`);
        }
    }
}

Но ловушка никогда не срабатывает. Я предполагаю, что в основном то, о чем я прошу, - это как отследить, откуда возникает ошибка?

Я также пробовал обернуть свою функцию запроса во всех местах, куда я звоню, и жду ее с помощью try / catch блок, тоже самое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...