Как изменить время ожидания тайм-аута запроса nodejs?

Я использую сервер Node / express. Тайм-аут по умолчанию express составляет 120 000 мс, но для меня этого недостаточно. Когда мой ответ достигнет 120 000 мс, консоль будет регистрировать POST /additem 200 120006ms а на странице появляется ошибка, поэтому я хочу установить таймаут на большее значение. Как мне это сделать?

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

 var server = app.listen(app.get('port'), function() { debug('Express server listening on port ' + server.address().port); }); server.timeout = 1000; 

Если вы не используете express и работаете только с ванильным узлом, принцип тот же. Следующие данные не возвратят:

 var http = require('http'); var server = http.createServer(function (req, res) { setTimeout(function() { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }, 200); }).listen(1337, '127.0.0.1'); server.timeout = 20; console.log('Server running at http://127.0.0.1:1337/'); 

Попробуй это:

 var options = { url: 'http://url', timeout: 120000 } request(options, function(err, resp, body) {}); 

Обратитесь к документации по запросу для других опций.

Для конкретного запроса можно установить timeOut равным 0, который не является таймаутом, пока мы не получим ответ от БД или другого сервера

 request.setTimeout(0) 

Для тех, кто имеет конфигурацию в bin/www , просто добавьте параметр тайм-аута после создания http-сервера.

 var server = http.createServer(app); /** * Listen on provided port, on all network interfaces */ server.listen(port); server.timeout=yourValueInMillisecond 
Давайте будем гением компьютера.