У вас есть синтаксическая ошибка с вашим кодом, возможно, стоит сначала исправить ее, чтобы посмотреть, не способствует ли это вашей ошибке:
export function mainHandler(req, res, next) {
const global-url= "someURL"
if (global-url) {
return fetch(global-url)
...
Вы не можете определить переменную, которая содержит дефис-
, поскольку это читается как оператор вычитания.
const global-url = ...
, должно быть const global_url = ...
И, конечно, обновлять все экземпляры, где вы вызываете эту переменную.
В текущем состоянии вашего кода next()
не вызывается первым промежуточным программным обеспечением, поскольку if (global-url) {...}
не будет возвращать значение true, поэтому не запускает следующее промежуточное программное обеспечение в цепочке.
Попробуйте:
export function mainHandler(req, res, next) {
const global_url= "someURL"
if (global_url) {
return fetch(global_url)
.then((response) => response.json())
.then((response) => {
if (response.data) {
next();
} else {
throw Error(response.statusText);
}
})
.catch((error) => {
res.redirect('/session-expired');
next(error);
});
}
res.redirect('/session-expired');
// Note that if this 'if' is not satisfied, 'next()' is not called.
}