본문 바로가기
Tech Notes

dart 비동기

by miracle-tech 2025. 10. 23.
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