createPost()의 async, awiat
526
投稿した質問数 18
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
안녕하세요.
오늘 수업에서 Promise 객체를 다루면서 async, await를 알려주셨습니다.
그런데 Promise 객체를 다룰 때, 해당 함수의 return을 받을 필요가없다면 async, await를 명시하지 않아도 되는건가요?
PostCreateView.vue 파일의 save() 함수에서 createPost() 함수를 사용할 때 이러한 부분이 있었습니다.
回答 1
1
안녕하세요. 상황에 따라 다르겠지만 저는 대부분 정의하는 편입니다.
예를들어 createPost에서 에러가 발생했다면 페이지를 이동(router.push({name: 'PostList'})) 하지 않고 alert 을 띄우기 위해서는 await을 사용해야 겠죠?
아래 예시처럼요 :)
(await을 사용안한다면 API 성공, 실패여부에 관계없이 페이지 이동을 하겠죠?)
try {
await createPost(data);
router.push({ name: 'PostList' });
} catch (err) {
alert(err.message);
}
0
안녕하세요 짐코딩님,
비슷한 내용의 질문이 있어 답글로 질문드립니다.
원질문자님의 질문 속 코드처럼 짐코딩님의 코드를 보면 PostCreateView 내 save 함수에는 async await을 활용하지 않으셨고, PostEditView 내 edit 함수에는 async await을 활용하셨습니다.
save에서 async await을 활용하지 않으신 건 post로 return 받을 게 없으니 필요 없어 그러셨다고 파악했는데, edit에서 put 역시 return 받는 게 없는데 async와 awiat을 활용하신 이유가 궁금하였습니다.
하지만 현재 짐코딩님의 답글을 보니, save에서 async await을 활용하지 않으신 건 실수라 생각되고, 원래는 모두 붙이는 걸 선호하시는 거 같은데(의도치 않은 라우터 동작 등) 제가 파악한 게 맞을까요 ?

짐코딩님 깃 속 코드는 다음과 같습니다.
감사합니다.
질문드립니다.
0
32
0
unplugin-vue-components 질문드립니다.
0
37
2
강의듣다가 헷갈려서 질문드립니다.
0
31
1
와 짐코딩님 강의 들으면서 느끼는게 많네요.
0
32
1
질문드립니다.
0
32
2
라우터 인스톨 후 실행안됨
1
49
2
코드 자동 포매팅 질문
0
68
2
필터 watchEffect 질문입니다.
0
50
1
json-server 오류가 다른게 뜨네요
0
113
1
미리보기가 안됩니당...
0
69
2
unplugin-vue-components
0
81
2
TypeError 질문
0
52
1
v-model="show" :show="show" 같이 사용?
1
57
1
hash 모드 배포의 필요성?
0
61
2
.eslintrc.cjs 가 없습니다
0
95
2
title,content값이 비어서 저장되는데 제가 혹시 어떤 부분을 잘못 작성했는지 ㅜㅜ 알고싶습니다.
0
98
3
_title_like: "", 문의드려요 해당 값을 설정하면 list가 아에 안나옵니다.
0
64
1
@click.prevent="params._page = pageNum"> 에 .value를 안쓰는 이유가 궁금합니다.
0
71
2
중첩된 컴포넌트 문제
0
75
2
교안에 있는 부분이 아닌가요?
0
109
2
useAxios Proxy(Object) RefImpl
0
113
1
axios timeout
0
328
3
강의와 상관은 없지만, 궁금한 점이 있어 질문드립니다.
0
122
2
컴포넌트 분리 부분에서 오류가 나요ㅠㅠ
0
167
2

