• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

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

21.12.26 20:47 작성 조회수 161

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 구문을 이용해서 둘 다 비슷한 코드로 처리하실수 있을 것 같습니다.

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