Проблема здесь в том, что в вашем методе ./routes/forecast/
getForecasts вы сообщаете ответ для отправки с данными «Прогноз». Вы должны когда-либо использовать res.send только один раз для каждого запроса, так как это разрешит ответ и вернется к клиенту.
Вместо этого ваш метод getForecasts должен просто возвращать все необходимые данные, а файл индекса должен обрабатывать ответ. Если вам нужен getForecasts для обработки ответа, возможно, из-за того, что вы отправляете запросы непосредственно в конечную точку прогноза, которая не требует данных о местоположении, тогда вы можете реорганизовать свой код, чтобы и индекс, и прогнозы выполняли вызов для получения данных, которые вы нужно. Например:
/* index.js */
const {getCity} = require('./data/city');
const {getForecasts} = require('./data/forecast');
app.get('/forecasts', function (req, res) {
var location = getCity();
var forecast = getForecasts();
res.send({locationResponse: location, forecastResponse: forecast});
});
/* data/forecast.js */
module.exports = {
getForecasts: () => {
return "Forecast";
}
};
/* data/city.js */
module.exports = {
getCity: () => {
return "City";
}
};
Тогда вы также можете иметь:
/* routes/forecast.js */
const {getForecasts} = require('../data/forecast');
module.exports = {
getForecasts: (req, res) => {
res.send(getForecasts());
}
};
Выше может быть слишком сложно, но я сделал предположение, что если вы используете каталог routes
, вы, вероятно, хотите, чтобы там хранились обработчики маршрутов. Надеюсь, это поможет.