У меня есть REST API, в котором требуется много времени в отправка ответа, когда мой код ищет во многих полях коллекции, и мне нужен этот ответ на моей стороне клиента (обновленные списки) Моя проблема в том, что в определенное время я получил пустой ответ от моего API, то есть ответ отправляется перед поиском в БД и в результате получен пустой ответ
Он выполняет поиск правильно, но, поскольку время тратит много времени, он не может правильно реагировать. Как решить эту проблему?
Кроме того, я пытался отправить response.end() at the end, но он не работает.
Вы должны оптимизировать запрос или установить => res.setTimeout (0); закрыть разрешение через 2 минуты
хорошо, тогда что мне делать ... ?? Я хочу, чтобы этот ответ был в моем коде на стороне клиента ... как тогда отправить мой ответ?
@PrashantGupta, можешь показать это в коде ??
обновите свой вопрос и опубликуйте свой запрос ... И попробуйте выполнить индексацию с полями, которые ищет





Вы можете отключить тайм-аут по умолчанию, если это причина.
var http = require('http');
var server = http.createServer(function (req, res) {
res.write('Hi!');
res.end();
});
server.listen(8080);
console.info(server.timeout);
server.timeout = 0; //Set to 0 to disable any kind of automatic timeout behavior on incoming connections.
console.info(server.timeout);
Этот код останавливает ответ через 60 секунд, значение server.timeout в миллисекундах.
var server= http.createServer(app).listen(app.get('port'),app.get('host'), function(){
server.timeout = 60000;
//console.info(server.timeout);
});
console.info("Server listening at http://%s:%s",app.get('host'),app.get('port'));
}
Это может быть тайм-аут по умолчанию. 2 минуты - это значение по умолчанию для Node Server.