인프런 커뮤니티 질문&답변

김 코딩왕 김챡씨님의 프로필 이미지
김 코딩왕 김챡씨

작성한 질문수

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

노드 리액트 기초 강의 #10 Bcrypt로 비밀번호 암호화 하기

계속하여 암호화에 실패해요

작성

·

314

1

{

    "success": false,

    "err": {}

}

포스트맨 결과입니다.

제 아래 코드에요 ㅠㅠ....


userSchema.pre("save"next => {
  var user = this;

  if (user.isModified("password")) {
    //비밀번호 암호화 시킨다
    bcrypt.genSalt(saltRounds, (errsalt=> {
      if (errreturn next(err);

      bcrypt.hash(user.passwordsalt, (errhash=> {
        if (errreturn next(err);

        user.password = hash;
        next();
      });
    });
  }
});

답변 4

0

user를 this로 정해주었는데 기본적으로 arrow function 에서는 this바인딩이 안되고 상위 scope를 this로 지정주니까 user가 다른걸로 정해져서 그런거 아닐까요..?? 일반적인 function(){}형식의 함수에서는 this바인딩이 가능하니까

0

저도 해당 내용으로 해결했는데요, 왜 차이가 생기는지 아시나요?

0

John Ahn님의 프로필 이미지
John Ahn
지식공유자

아 넵 ^^ !! 수고하셨습니다 ~ ! 

0

next => {} 를 function(next)로 바꾸니까 해결됐습니다!..

김 코딩왕 김챡씨님의 프로필 이미지
김 코딩왕 김챡씨

작성한 질문수

질문하기