오늘 한 일
- Dart 언어를 학습하였다
- 블로그 TIL을 작성하였다
- 1일 1커밋을 하였다
느낀 점
오늘은 차례를 지내느라 절대적인 공부량 자체가 많지 않았다 내일은 딱히 특별한 일이 없으니 내일은 또 다시 어제처럼 Flutter 공부를 많이 해야겠다
배운 점
Dart 실행 지연
Dart에서 함수 내 실행을 지연시키려면
1
await Future.delayed(Duration(seconds: 시간));
해당 코드를 사용하면 된다
Dart 비동기 함수
1
2
3
4
Future<void> sleepPrint(int time) async {
await Future.delayed(Duration(seconds: time));
print("$time초 후 출력");
}
1
Dart에서 Future<함수 타입> 함수 이름 (매개변수) async 를 사용하면 비동기 함수를 만들 수 있다
1
2
3
4
5
6
7
8
9
10
void main() {
sleepPrint(5);
sleepPrint(1);
sleepPrint(3);
}
Future<void> sleepPrint(int time) async {
await Future.delayed(Duration(seconds: time));
print("$time초 후 출력");
}
이렇게 만든 해당 함수를 실행한다면
1
2
3
1초 후 출력
3초 후 출력
5초 후 출력
이 순서가 될 것이다
Dart 지속적인 비동기 함수
1
2
3
4
5
6
Stream<int> sleepPrint() async* {
for (int i = 0; i < 3; i++) {
await Future.delayed(Duration(seconds: 1));
yield i;
}
}
1
Dart에서 Stream<함수 타입> 함수 이름 (매개변수) async* 를 사용하면 지속적인 비동기 함수를 만들 수 있다
1
2
3
4
5
6
7
8
9
10
11
12
void main() {
sleepPrint().listen((event) {
print(event);
});
}
Stream<int> sleepPrint() async* {
for (int i = 0; i < 3; i++) {
await Future.delayed(Duration(seconds: 1));
yield i;
}
}
1
이렇게 만든 해당 함수를 실행하려면 listen((event)) 를 사용하면 된다
내일 계획
내일은 Flutter 공부를 해야겠다