인프런 커뮤니티 질문&답변
질문
작성
·
226
1
모델에서 User.js 안에서 this가 언디파인드로 떠서
그냥 미들웨어 안에서 해결했는데 이렇게 해도 괜찮을까요?
const auth = (req, res, next) => {
const token = req.cookies.x_auth;
jwt.verify(token, "secretToken", (err, decoded) => {
if (err) throw err;
User.findOne({ _id: decoded, token: token }, (err, user) => {
if (err) return res.json({ success: false, err });
if (!user) return res.json({ isAuth: false, error: true });
req.token = token;
req.user = user;
next();
});
});
}
답변 3
0
0
저도 똑같이 나왔었는데
User.js 에서
const user = this;
const userInfo = this;
로해서 콜백메소드에 userInfo를 넘겨줬더니 정상적으로 작동했어요 ㅎㅎ
0
John Ahn
지식공유자
아 this가 왜 undefined가 나오는지 의문이네요 ...
아래에 req.token = token 위에
console.log(token)해서 토큰 잘가져오는지 확인해보시구
req.user = user 위에
console.log(user) 해서 유저 정보도 잘 가져오는지
확인해보시구 잘가져온다면 그렇게해도 문제는 없습니다 ^^





