inflearn logo
강의

講義

知識共有

Vue.js 完全マスター - 実務に必要なすべて

ストアを使用したトークンの保存と活用

try catch 질문입니다.

解決済みの質問

260

jude

投稿した質問数 9

1

안녕하세요, 지난 고급 강좌 때 try catch 를 api/index.js 파일에서 처리 했던 것이 생각나서 이 부분도 아래와 같이 적용해보려고 했는데요, 에러 처리가 안되고 console 도 찍히지 않네요..

방법이 잘못된 것일까요?
api 호출 하는 쪽에서 에러 status만 넘겨주고 화면 단에서 status를 받아서 공통 에러 처리 컴포넌트를 호출 해주는 케이스를 생각해봤거든요. 이 부분에는 적절하지 않은 것일까요?

// api/index.js
// 학습 노트 데이터 생성 API
function createPost(postData) {
  try {
    return instance.post('posts', postData);
  } catch (error) {
    console.log('1', error);
    return error.response.data.message;
  }
}

// PostAddForm.vue
async submitForm() {
  const response = await createPost({
    title: this.title,
    contents: this.contents,
  });
  console.log('response', response);
},

vuejs vuex javascript

回答 2

1

captain

안녕하세요 jude님 :) 좋은 질문이네요! 말씀하신 의도대로 로직을 처리하기 위해서는 아래와 같이 수정되면 좋을 것 같습니다 :)

// api/index.js
// 학습 노트 데이터 생성 API
async function createPost(postData) {
  try {
    return await instance.post('posts', postData);
  } catch (error) {
    console.log('1', error);
    return error.response.data.message;
  }
}

// PostAddForm.vue
async submitForm() {
  try {
      const response = await createPost({
      title: this.title,
      contents: this.contents,
    });
    console.log('response', response);
  } catch (error) {
    // 에러 처리..
  }
},

이번에도 강의에 대해서 좋은 평가 남겨주셔서 감사합니다. 남은 강의도 재밌게 들으세요 :)

0

jude

아, api 쪽에 async , await를 안붙였었군요 ㅠ..

위와 같이 코드를 수정해보고 테스트 해봤는데요, api 쪽에서 에러가 나면 캐치가 잘 되네요, 그런데 PostAddForm 에서는 에러가 response로 넘어와서 이쪽에서는 try catch가 필요 없을거 같은데 이쪽에도 try catch를 넣어준 이유가 있을까요?

그런데 잘 생각해보니 이렇게 되면 화면 단에서 어짜피 에러가 없을 때 정상적인 데이터의 response 값과 에러가 났을 때 넘어오는 response 값을 분기 처리를 해줘야 한다는 단점이 있네요..아무래도 강의에 나온 것처럼 에러 처리 하는 것이 최적일거 같다는 생각이 드네요 ㅠㅠ

node 10버전 사용

0

64

1

강의에 대해 질문 드립니다.

0

61

1

vue CLI 대신 vite를 사용해도

1

140

2

질문삭제

0

149

2

강사님 코드로 진행할 경우 console.log( config); 도 안찍혔어요. instance 를 생성해서 공통으로 사용하셨는데 loginUser 에만 커스텀한 instance를 넣으니 콘솔에 컨피그 객체가 찍혀요

0

92

1

로그인 에러발생만하면 네트워크 커넥션 에러 발생 해결

0

117

1

rndrmagkqslek.

0

73

1

계속 따라하다가 안돼서 bash에 연결할떄 안되더라구요

0

104

1

axios 에러가 뜹니다.

1

237

2

vue3로 진행하시면서 router에서 '*' 적용이 안되시는 분들

2

312

1

vue 관련 다른 강의 출시예정이없으신지 궁금합니다!

1

154

1

AppHeader.vue에 vue 디폴트 만들에 Delete `␍` 오류나면

1

195

1

vue3로 따라오시다가 import axios 에러 뜨시는 분들

2

445

2

$router 를 이용한 메인 페이지로 이동

1

290

1

혹시 node.js 10.24 버전으로 해도 상관없나요?

2

461

2

에러 경로가 LoginForm.vue 43번째줄 말고 다른 경로로 출력됩니다.

1

299

2

pinia 사용할려고 하는데 에러가 나옵니다.

1

486

2

swagger ui의 post/posts에 글 기록하려고 하면 unauthorized 에러가 납니다..

1

1104

2

safari 개발자 도구에 대한 질문입니다

1

568

2

스웨거에 글 등록시 401 에러가 나와요 ㅠ

1

722

2

이 에러 때문에 진행이 안되네요 ㅠ

1

675

1

windows .nvmrc nvm use 실행 오류

1

1547

2

강사님 최신화가 필요해보입니다.

2

960

2

npm i 에러

1

613

1