У меня есть сервер NodeJS, и я использую API REST для получения данных из Angular7. Тем не менее, это дает мне ошибку net :: ERR_EMPTY_RESPONSE в браузере.
Я пытаюсь дождаться ответа от запроса, который я делаю, к API, который я запускаю (отправка URL-адреса, содержащего JSON в качестве параметра). Это занимает более 2 минут, и я полагаю, что Express закрывает соединение из-за тайм-аута.
app.get('/api/apps', function(req, resp) {
var url = 'http://localhost:' + port_p + '/dataMining?url=' + 'http:%2F%2Flocalhost:3000%2Frawapps';
var p = new Promise ((resolve, reject) => {
try{
fetch(url).then(res => res.json()).then((json) =>{
resolve(json);
});
}catch(err){
reject(err);
}
});
p.then(values => {
console.log(values);
resp.send(values);
});
});
Этот код работает, потому что я вижу результаты в NodeJS. Но оно никогда не достигает Angular, когда JSON от параметра велико. Если он маленький, все работает отлично.
Я попробовал все с этих страниц, но он не работает:
Express. js Время ожидания ответа
https://github.com/expressjs/express/issues/3330
https://github.com/expressjs/timeout
Не только это, но Chrome вызывает запрос дважды, поэтому это занимает вдвое больше времени.
Есть идеи, как мне это решить?