#typescript
#typescript
Вопрос:
У меня есть этот блок кода (упрощенный), но я не знаю, делаю ли я это неправильно или я что-то недопонимаю.
const user = fetchUserFromSomeWhere()
try {
validateUser(user)
} catch (e) {
return response.status(400).send('user error')
}
console.log(user.name) // TS2532: Object is possibly 'undefined'.
fetchUserFromSomeWhere()
undefined
Мое может быть, поэтому, когда я пытаюсь использовать некоторые свойства, которые выдают мне ошибку, я понимаю его точку зрения, но я уже проверяю ее среди прочего. user
TS2532: Object is possibly 'undefined'.
validateUser(user)
undefined
Итак, мой вопрос: есть способ сообщить компилятору, что пользователь уже проверен? Какой правильный / лучший способ сделать это?
Ответ №1:
Я предлагаю вам предоставить полный код и доверять ошибкам TS, потому что они могут быть очень полезны во многих ситуациях, также я бы посоветовал вам регистрировать выходные данные обеих fetchUserFromSomeWhere
validateUser
функций and, случайно ли это async
функции?