인프런 커뮤니티 질문&답변
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 함수처럼 실행됩니다.





