-
카테고리
-
세부 분야
모바일 앱 개발
-
해결 여부
미해결
비동기로 콜백을 받는다는 것이 무슨 뜻인가요?
22.10.31 17:54 작성 조회수 266
2
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
library에서 제공하는 기능인 pickImage 설명할 때
return을 Future<file>로 하는데 Future라는 방식이 비동기로 콜백을 받는다고 설명하셨어요.
그게 무슨 뜻일까요?
답변을 작성해보세요.
0
오준석
지식공유자2022.10.31
일반적으로 짜던 코드 방식이 동기 방식입니다.
비동기는 오래걸리는 처리를 생각하시면 되고, Dart에서는 리턴 타입이 Future<타입> 형태인 함수입니다.
이에 대한 결과를 콜백함수를 통해 받는 방식이 있고, async - await 를 사용하는 방식이 있습니다.
콜백은 대체로 다음과 같은 형태입니다.
a 코드;
비동기함수().then((value) => c코드);
b 코드;
위 수행 결과는
a -> b -> c 순서로 진행됩니다. 비동기함수가 오래 걸리고 나중에 c코드가 콜백으로 실행되기 때문입니다.
또 다른 방법은 async- await 방식입니다. 동기 방식으로 코드를 작성합니다.
어떤함수() async {
a 코드;
await 비동기함수();
c 코드;
b 코드;
}
위 코드는 비동기함수가 끝날때까지 대기하고 순서대로 실행됩니다. 이 강의에서는 잘 등장하지 않습니다.
답변 1