Вы хотите отправить ответ только после того, как он будет возвращен вам:
const https = require('https');
app.get('/', (req, res, next) => {
var url = 'https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY';
var nasa_obj
var request = https.get(url, function (response) {
var body = '';
response.on('data', function (chunk) {
body += chunk;
});
response.on('end', function () {
console.log("Got a response: ", body);
res.send(body);
});
}).on('error', function (e) {
console.log("Got an error: ", e);
next(e); // Pass error to error handling middleware
});
request.end()
})
Также убедитесь, что вы правильно обрабатываете ошибки.Либо отправьте ответ в браузер, чтобы, как и в приведенном выше коде, передать его промежуточному программному обеспечению для обработки ошибок.