Как изменить время ожидания запроса nodejs по умолчанию?
Я использую узел / экспресс-сервер. По умолчанию тайм-аут express составляет 120 000 МС, но мне этого недостаточно. Когда мой ответ достигнет 120 000 МС, консоль войдет POST /additem 200 120006ms
и страница показывает ошибку, поэтому я хочу установить тайм-аут на большее значение. Как бы я это сделал?
4 ответа:
Я предполагаю, что вы используете
express
, учитывая журналы у вас есть в вашем вопросе. Ключ должен установитьtimeout
свойство на сервере (следующее устанавливает время ожидания в одну секунду, используйте любое значение, которое вы хотите):var server = app.listen(app.get('port'), function() { debug('Express server listening on port ' + server.address().port); }); server.timeout = 1000;
если вы не используете express и работаете только с vanilla node, принцип тот же. Следующие данные не возвращаются:
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) {});
смотрите запрос's документация для других вариантов.