Home 9월 29일 Today I Learned
Post
Cancel

9월 29일 Today I Learned

오늘 한 일

  • 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 공부를 해야겠다

This post is licensed under CC BY 4.0 by the author.

9월 28일 Today I Learned

9월 30일 Today I Learned