inflearn logo
강의

Khóa học

Chia sẻ kiến thức

[Renewal] TypeScript All-in-One: Phần 2. Phân tích thực tế

Cách xử lý AxiosError và lỗi không xác định

axios catch 에서 error 타입에 대해 as 없이 이렇게 사용하면 어떨까요?

406

geuni

11 câu hỏi đã được viết

0

interface IResponse<T = {}> {
  data: T;
  message: string;
}

interface IUser {
  id: string;
  email: string;
  name: string;
}

class CustomError<T> extends AxiosError<T> {
  constructor(...args: any[]) {
    super(...args);
  }

  static isCustomError<T>(value: any): value is CustomError<T> {
    return value instanceof CustomError<T>;

  }
}


axios.get('').then().catch((error: unknown) => {
  if (CustomError.isCustomError<IResponse<IUser>>(error)) {
    // console.error(
    //   (error as  AxiosError<{ message: string }>.response?.data.message)
    // )
    
    const errorMessage = error.response?.data.message;
  }
})

response의 대해서 타입이 좁혀지긴 하지만, 지저분해서 맞는 방법인지 모르겠네요

typescript

Câu trả lời 1

1

zerocho

axios는 이제 자체적으로 axios.isAxiosError 메서드를 제공합니다!

0

geuni

axios.isAxiosError 사용해도 타입 좁혀지네요!

감사합니다 ㅎㅎ

타입 오버라이딩

0

78

2

React19에서 useRef 타입 정의의 변화

0

128

2

jQuery를 $로 한 번 더 감싼 형태

0

58

1

typescript interface를 jsdoc으로 주석달 때

0

234

2

declare module시 import 위치

0

198

2

declare global 로 선언된 타입을 확장하는게 아닌 좁히는것도 가능할가요?

0

148

2

typescript 강의를 보고 개발을 하다가 강의와 다른 내용인데 물어볼곳이 여기밖에 없어서 질문 드립니다.

0

237

1

강의에 필요한 사전준비와 예제 코드 첨부

1

311

1

local.ts 예제코드 첨부 합니다.

1

230

1

redux 예제코드 가져와서 강의 보면서 따라하는데

1

248

1

react 함수 컴포넌트 타이핑은 있는데 클래스 컴포넌트 타이핑 예제 코드가 없네요.

1

287

1

axios 1.6.0 버전으로 보고 있는데영

4

393

1

Module '"axios"' has no default export 에러 나시는분들

0

881

1

안녕하세요, 제로초님 타입스크립트 axios 분석 강의보고 궁금한점이 있어서 질문드립니다

1

389

1

안녕하세요. 제로초님 당신의 강의 매니아 입니다. typescript 모듈 관련 질문이 있어서요.

0

269

1

global 선언 시 export {}

0

298

1

initialState가 제네릭 S인 이유가 잘 이해가 되지 않습니다.

0

310

1

declare module vs declare namespace

0

478

1

declare namespace vs namespace

0

500

2

"axios": "1.4.0" 버전 axios type 코드가 강의와 다릅니다!

0

561

1

Redux type 설정 과정에서 발생한 오류 질문 (ts[2345])

1

383

2

index.d.ts 에서 global declare 선언을 했을 때와 하지 않았을 때의 차이

0

409

1

미들웨어가 커링패턴으로 이루어진 이유

0

442

1

axios 파트 첫번째 강의 질문입니다

0

537

1