인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

김윤진님의 프로필 이미지
김윤진

작성한 질문수

[리액트 1부] 만들고 비교하며 학습하는 리액트 (React)

[순수JS 1] ⭐중간정리

mvc 패턴 비동기 처리 질문입니다

작성

·

266

0

mvc 패턴은 비동기 처리를 어떻게 하나요?

 

ex1) 

// model

async setData() {

  const response = await fetch(...);

  const data = await response.json();

  return data;

}

// controller

constructor() {

  this.getData();

}

 

getData() {

   this.data = this.model.setData();

}

이렇게 해서 view에 전달하면 되나요?

 

ex2)

// model

async setData() {

  const response = await fetch(...);

  const data = await response.json();

  this.foo(data);

}

 

this.foo(data) {

  // data에 대한 잔처리

}

// controller

??

이렇게 한다면 controller에서는 어떻게 데이터를 받아야 하나요?

 

감사합니다!

답변 1

2

김정환님의 프로필 이미지
김정환
지식공유자

1번은 모델이 데이터를 패치해서 반환하는 것이고 2번은 모델이 데이터를 패치한뒤 후처리해서 반환하는 것일가요? 모델이 데이터를 관리한다는 역할로 정의한다면 둘 다 큰 차이는 없어 보입니다.

컨트롤러에서 모델을 다루는 방식이 동기/비동기일때 어떻게 다른지를 질문하신걸까요? 프라미스나 async/await 구문을 이용해서 둘 다 비슷한 코드로 처리하실수 있을 것 같습니다.

비동기에 대해 질문하신 것 같은데 원하시는 답변인지 모르겠네요.

김윤진님의 프로필 이미지
김윤진

작성한 질문수

질문하기