인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

ssavengers님의 프로필 이미지

작성한 질문수

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

토큰 시스템을 사용하도록 엔드포인트 변경하기

decodeBasicToken() 사용 시 'void 타입 에러' 발생 원인 질문드립니다

작성

·

24

0

코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다!

[코드팩토리 디스코드]
https://inf.run/54jjz

 

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

강의에서 알려주신 decodeBasicToken() 함수를 그대로 구현했는데요,
다음과 같이 리턴을 명확히 하고 있음에도 불구하고,

decodeBasicToken(base64String: string){
    // 그냥 공식으로 외우면 됨
    const decoded = Buffer.from(base64String, 'base64').toString('utf8');

    const split = decoded.split(':');

    if (split.length !== 2) {
      throw new UnauthorizedException('잘못된 유형의 토큰입니다.');
    }

    const email = split[0];
    const password = split[1];

    return {
      // email: email,
      // password: password,
      email,
      password,
    };
  }

에서 이 함수를 사용하면 TypeScript가 다음과 같은 에러를 표시합니다:

Argument of type 'void' is not assignable to parameter of type ...

혹시 이 부분은 TypeScript의 일시적인 추론 문제일까요?
리턴 타입을 명시하니까 에러가 사라지긴 했는데,
강의에서는 따로 리턴 타입 없이도 문제없이 작동하던 것 같아서요!

혹시 제가 놓친 부분이 있는지,
아니면 단순히 타입스크립트 인텔리센스의 문제인지 궁금합니다

감사합니다!

답변 1

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

연속으로 비슷한 문제의 질문을 해주셔서 왠지 Typescript 랭기지 서버가 정상적으로 작동되지 않는 문제일 것 같습니다.

말씀 주신 이슈처럼 이해 안되는 문제가 있을때마다 Typescript 랭기지 서버 재시작을 해보세요. 컴퓨터 스펙, 환경설정, 메모리 점유등 이슈로 타입 반영이 원활이 되지 않고 있을 수 있습니다.

Typescript 랭기지 서버 재시작은 아래 링크를 참고해주세요.

https://inf.run/BTU6N

감사합니다!