Проблема
У меня есть маршрут (/mediumData
), который вызывается при каждой перезагрузке страницы веб-сайта.Вот обработчик экспресс-маршрутизации для маршрута:
router.get("/mediumData", (request, response) => {
getMediumData
.then(mediumData => {
response.json(mediumData)
})
.catch(error => {
response.send(error)
})
});
Проблема, с которой я сталкиваюсь, заключается в том, что обещание getMediumData
вызывается только при перезапуске сервера, а не при каждой загрузке страницыкак и предполагалось .
Что я пробовал
Когда я попытался отладить код с помощью операторов console.log
, я обнаружил, что console.log
выполняется внутриобработчик getMediumData.then
(при обновлении страницы).Однако обещание getMediumData
не будет выполнять никаких операторов console.log
при обновлении страницы (только при перезапуске сервера будет выполняться console.log
).
Вот пример того, о чем я говорю относительноМоя console.log
отладка:
getMediumData.then
обработчик
router.get("/mediumData", (request, response) => {
getMediumData
.then(mediumData => {
console.log("This text gets outputted on every page refresh.");
response.json(mediumData)
})
.catch(error => {
response.send(error)
})
});
getMediumData
обещание
const getMediumData = new Promise((resolve, reject) => {
console.log("This text only gets outputted on server restarts.");
https
.get(
// Some stuff...
)
});