Как заставить функцию запроса завершаться в node.js, если ответ не возвращается через долгое время?

Моя программа имеет дело с огромным количеством запросов, некоторые из них иногда не могут получить возвращенный обратный вызов (из-за сервера, на который я отправляю запросы). Мне интересно, есть ли способ заставить запрос завершиться через определенное время (например, 5 секунд)?

request(item.url, function (error, response, html) {})

Я действительно ценю за любую помощь. Заранее спасибо.

1 ответ

request модуль имеет timeout вариант:

timeout - Целое число, содержащее количество миллисекунд, в течение которых сервер ожидает отправки заголовков ответа (и запускает тело ответа), прежде чем прерывать запрос. Обратите внимание, что если базовое TCP-соединение не может быть установлено, таймаут TCP-подключения для всей ОС отменяет timeout опция ( по умолчанию в Linux может быть от 20 до 120 секунд).

Другие вопросы по тегам