인프런 커뮤니티 질문&답변
mvc 패턴 비동기 처리 질문입니다
작성
·
287
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에서는 어떻게 데이터를 받아야 하나요?
감사합니다!
퀴즈
MVC 패턴에서 애플리케이션의 데이터를 관리하고 상태를 저장하는 역할을 하는 컴포넌트는 무엇일까요?
View (뷰)
Controller (컨트롤러)
Model (모델)
Template (템플릿)
답변 1
2
1번은 모델이 데이터를 패치해서 반환하는 것이고 2번은 모델이 데이터를 패치한뒤 후처리해서 반환하는 것일가요? 모델이 데이터를 관리한다는 역할로 정의한다면 둘 다 큰 차이는 없어 보입니다.
컨트롤러에서 모델을 다루는 방식이 동기/비동기일때 어떻게 다른지를 질문하신걸까요? 프라미스나 async/await 구문을 이용해서 둘 다 비슷한 코드로 처리하실수 있을 것 같습니다.
비동기에 대해 질문하신 것 같은데 원하시는 답변인지 모르겠네요.





