Неопределенная проверка Typescript во внутренней функции

#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 функции?