Недавно я столкнулся со странной проблемой, когда у меня есть следующий фрагмент кода, который выполняется внутри моего перехватчика, и на ШАГЕ 1 я могу получить req.headers, однако, когда я достигаю ШАГА 2, я получаюисключение «Не удается прочитать свойство« длина »нулевого значения»
private prepareUrlProperties(req: HttpRequest<any>) {
let urlProperties = {};
if (req.headers) { // STEP 1
try{
const metaData = JSON.parse(req.headers.get('metadata') || '{}'); // STEP 2
} catch (exp) {
console.log(exp);
}
urlProperties = { ...urlProperties, ...metaData }; // STEP 3
}
return urlProperties;
}
, затем, на шаге 3, я могу увидеть все ключи в одном запросе с помощью: «req.headers.keys ()» илипри наведении на объект запроса.
Я подозреваю, что причина этого заключается в отложенной инициализации заголовков, но как я могу сохранить безопасную проверку, чтобы не получить никаких исключений во время выполнения.
Ниже приведена ошибка:
PS: я также сохранил этот чек, но исправно:
if (req.headers && req.headers.has('metadata'))
Нужна некоторая помощь!
Присоединение console.logs для req.headers, 1-й - на шаге 1, 2-й на шаге 3.