728x90
Future.delayed와 Timer
- Future.delayed: Future 객체를 반환한다.
- 주어진 시간 만큼 지연 후 함수를 실행한다.
- 내부적으로는 타이머를 사용하지만 외부에 노출되지 않으므로 중간에 취소하거나 재시작하거나 할 수 없다.
- Future 객체를 반환하므로 await 키워드를 사용해서 지연 시간을 보장할 수 있다.
- Timer: 아무 것도 반환하지 않는다.
- 주어진 시간 만큼 지연 후 함수를 실행한다.
- 주기적인 타이머 알림을 받을 수 있다.
- 타이머를 종료(cancel)할 수 있다.
Dart: Future.delayed
Future.delayed(기간, 함수); 형식으로 호출한다.
- 기간: Duration 객체, 보통 const 상수로 만든다.
- 함수: 익명함수
void main() {
Future.delayed(const Duration(seconds: 2), () {
print('passed 2 sec.'); // 2초 후 출력
});
}
2초 후에 passed 2 sec 문자열을 출력한다.
Flutter: Timer
타이머를 종료(cancel)한다.
void main() {
Timer t = Timer(Duration(seconds: 1), () {
print('passed 2 sec'); // 출력 안 됨
});
t.cancel(); // 곧바로 취소되어 출력 안 됨
}
주기적인 타이머 알림을 받는다.
Timer.periodic(Duration(seconds: 5), (timer) {
print(DateTime.now()); // 5초 마다 주기적으로 현재 날짜 시간 출력
});
728x90
LIST
'Flutter' 카테고리의 다른 글
Flutter - 동시성 , 병렬성 , 콜백함수 (1) | 2023.11.07 |
---|---|
Flutter - Generators (제너레이터) (0) | 2023.11.07 |
Flutter - Future , async , await (3) | 2023.11.06 |
Flutter - pubspec.yaml (1) | 2023.11.02 |
Flutter - 클래스 선언과 인스턴스 생성 (2) | 2023.11.02 |