SUIN

[Dart] Dart 비동기 본문

Flutter

[Dart] Dart 비동기

choi suin 2024. 3. 15. 16:00
728x90

async / await  / Future : 1회만 응답을 돌려받는경우 , 서버에서 응답을 받아오는경우에 사용 

//Future<돌려받는 타입 지정> , todo(매개변수)
Future<void> todo(int second) async{
	//second 만큼 지연을 발생시킴 
	await Future.delayed(Duration(seconds: second));
    print('Todo Done in $second seconds'); 
}

todo(3);
todo(1);
todo(5);

 

async* / yield  / Stream : 지속적인 응답을 돌려받는경우 , 타이머 등 시간계산의 경우 사용 

Stream<int> todo() async* {
	int counter = 0;
    
    while(countern <= 10){
       counter++ ;
       await Future.delayed(Duration(secounds:1));
       print('Todo is Running $counter');
       yield counter ; 
    }
 	print('Todo is Done');
    
    
 
 	todo().listen((event){});
 
}