강의

멘토링

커뮤니티

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

유병길님의 프로필 이미지
유병길

작성한 질문수

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

async 질문

작성

·

198

0

video controller 의 대부분의 함수 (pause, play, seekTo)등은 반환 타입이 Future 인데,
onPlayPreesed 를 예로 async 로 사용해도 문제가 없나요?
void onPlayPressed() { if (videoController!.value.isPlaying) { videoController!.pause(); } else { videoController!.play(); } setState(() {}); }
에서
void onPlayPressed() async { if (videoController!.value.isPlaying) { await videoController!.pause(); } else { await videoController!.play(); } setState(() {}); }
 
코드는 잘 동작하는데, 이렇게 사용하는게 맞는지가 궁금하고,
widget 에서 callback 처리하는 함수가 전달받은 callback함수가 async 타입인지 일반함수인지 구분하여 작동하는건지 궁금합니다.

답변 1

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

async는 우리말로 조금 풀어서 이야기한다면 await를 하고싶으면 할 수 있다는 뜻이기도합니다!

그러니 await를 하고싶다면 async로 선언해서 사용하면 되는데 만약에 필요없다면 async 함수라도 꼭 await를 해야하는건 아닙니다~

콜백함수가 async인지 인지하고 작동하는지 질문 주셨는데 이부분은 어떤 질문인지 잘 이해 못하겠습니다. 위젯의 콜백이라고 다르게 실행되진 않고 일반적인 async 함수처럼 실행됩니다.

유병길님의 프로필 이미지
유병길

작성한 질문수

질문하기