Tech Notes
dart 비동기
miracle-tech
2025. 10. 23. 22:30
728x90
반응형
1회만 응답을 돌려받을 경우
asnyc / await / Future
asnyc : 비동기 방식 (여러 작업을 동시다발적으로 실행함 - 어떤게 먼저 끝날지 모름 : 순서보장 되지 ㅇ낳음)
awiat Future : Future 의 작업이 끝날때까지 기다림.
Sample Source>
Future<void> todo(int second) async {
await Future.delayed(Duration(seconds: second));
print($second);
}
todo(3);
todo(10);
todo(2);
지속적으로 응답을 돌려받는 경우
async* / yeild / Stream
yeild : return 이랑 비슷하다고 생각.
Sample Source>
Stream<int> todo() async* {
int counter = 0;
while(counter <=10){
counter++;
await Future.delayed(Duration(seconds: 1));
print('TODO is Running $counter');
yield counter;
}
print('TODO is Done!');
}728x90