我正在为我的下一个nodejs应用程序使用打字脚本,我遇到了以下问题。 下面是我的代码:
class AuthService {
public async init(req: Request, res: Response) {
let user: IUser | null;
const userId = res.locals.userId;
if (userId) {
user = await User.findById(userId);
}
return res.send({user}); // error here, as in the title
}
}
我得到了ts错误:变量'user'是在被赋值之前使用的。 我做错了什么?
我猜问题在于,只有当满足if条件时,值才被赋给一个变量。 因此解决方案之一是在声明期间为其赋值。 比如让用户:IUser null=null;