try catch 질문입니다.
안녕하세요, 지난 고급 강좌 때 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);
},
回答 2
1
안녕하세요 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
아, 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

