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

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

59
задан 1 May 2017 в 01:21

2 ответа

С последним NodeJS можно экспериментировать с этим патчем обезьяны:

const http = require("http");
const originalOnSocket = http.ClientRequest.prototype.onSocket;
require("http").ClientRequest.prototype.onSocket = function(socket) {
    const that = this;
    socket.setTimeout(this.timeout ? this.timeout : 3000);
    socket.on('timeout', function() {
        that.abort();
    });
    originalOnSocket.call(this, socket);
};
0
ответ дан 1 November 2019 в 11:48

Соединение для выражения выпуска № 3330

можно установить тайм-аут любой глобально для всего сервера:

var server = app.listen();
server.setTimeout(500000);

или только для определенного маршрута:

app.post('/xxx', function (req, res) {
   req.setTimeout(500000);
});
0
ответ дан 1 November 2019 в 11:48

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

Похожие вопросы: