인프런 커뮤니티 질문&답변
비동기로 콜백을 받는다는 것이 무슨 뜻인가요?
작성
·
354
답변 1
0
오준석
지식공유자
일반적으로 짜던 코드 방식이 동기 방식입니다.
비동기는 오래걸리는 처리를 생각하시면 되고, Dart에서는 리턴 타입이 Future<타입> 형태인 함수입니다.
이에 대한 결과를 콜백함수를 통해 받는 방식이 있고, async - await 를 사용하는 방식이 있습니다.
콜백은 대체로 다음과 같은 형태입니다.
a 코드;
비동기함수().then((value) => c코드);
b 코드;
위 수행 결과는
a -> b -> c 순서로 진행됩니다. 비동기함수가 오래 걸리고 나중에 c코드가 콜백으로 실행되기 때문입니다.
또 다른 방법은 async- await 방식입니다. 동기 방식으로 코드를 작성합니다.
어떤함수() async {
a 코드;
await 비동기함수();
c 코드;
b 코드;
}
위 코드는 비동기함수가 끝날때까지 대기하고 순서대로 실행됩니다. 이 강의에서는 잘 등장하지 않습니다.






설명 감사합니다! ^^ 이해되었습니다.