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

jude님의 프로필 이미지
jude

작성한 질문수

Vue.js 끝장내기 - 실무에 필요한 모든 것

actions 속성을 이용한 로그인 기능 구현과 비동기 처리시 유의할 점

Promise 리턴 관련 질문

해결된 질문

작성

·

311

3

this.$store.dispatch('LOGIN', userData);

이 부분에서 Promise가 리턴 되서 await 를 붙일 수 있는걸로 이해했는데요, action에서 혹시 data를 쓸일이 있을 수도 있으니 return data;  를 해준다고 하셨는데 그럼 Promise와 data 둘다 같이 리턴되는 것인가요?

답변 2

6

안녕하세요 jude님, 좋은 질문입니다 :) async 함수의 리턴 값에 특정 데이터를 지정해주면 그 값은 프로미스가 이행(fulfilled)된 상태로 전달됩니다. 코드 상으로 말씀드리면 아래와 같이 될 것 같아요.

async fetchData() {
  const { user } = await fetchUser();
  return user;
}
fetchData(); // 결과 값은 Promise.resolve(user);

// 1. 이행된 결과 값을 프로미스로 처리하는 방법
fetchData().then(user => console.log(user));

// 2. 이행된 결과 값을 async로 처리하는 방법
async someMethod() {
  const user = await fetchData();
  console.log(user);
}

살펴보시고 혹시 이해 잘 안가시는 부분 있으면 알려주세요 :) 수강평 좋게 남겨주신 것 기쁘게 잘 받아봤습니다. 앞으로도 잘 부탁드릴게요 :) 강의 수강해주셔서 다시 한번 감사드립니다.

※ 만약 프로미스 이행 상태가 뭔지 기억이 잘 안나시면 프로미스 쉽게 이해하기 글 한번 읽어보세요 :)

1

jude님의 프로필 이미지
jude
질문자

이해 됐습니다 답변 감사합니다~! :)

jude님의 프로필 이미지
jude

작성한 질문수

질문하기