동기
작업이 순차적으로 처리되는 것을 의미합니다. 하나의 작업이 끝나야 다음 작업이 진행이 되는 것
void main() {
print('작업 1 시작');
performTask();
print('작업 1 완료');
}
void performTask() {
print('작업 2 실행');
}
출력
작업 1 시작
작업 2 실행
작업 1 완료
비동기
작업이 병렬적으로 처리될 수 있습니다. 즉, 작업이 완료될 때까지 기다리지 않고 다음 작업을 바로 시작합니다. 주로 네트워크 요청, 파일 읽기/쓰기 등 시간이 걸리는 작업에 사용됩니다.
void main() {
print('작업 1 시작');
performTask();
print('작업 1 완료');
}
Future<void> performTask() async {
await Future.delayed(Duration(seconds: 2));
print('작업 2 실행');
}
출력
작업 1 시작
작업 1 완료
(2초뒤에)
작업 2 실행
<aside> await 키워드
- await은 비동기 함수 내에서만 사용이 가능합니다.
- await은 Future가 완료될때가지 기다리며 완료되면 결과 값을 반환합니다.
- await은 비동기 코드를 동기 코드처럼 작성할 수 있게 해줍니다. </aside>
이해는 되는데 사용하려면 생각 안날듯.
'공부내용' 카테고리의 다른 글
dart 문법_동기, 비동기2 (2) | 2024.10.08 |
---|---|
dart 문법_클래스 (2) | 2024.10.08 |
dart 문법_조건문 (2) | 2024.10.08 |
dart 문법_함수 (0) | 2024.10.08 |
[사전캠프] dart 반복문(for) / List (0) | 2024.10.07 |
댓글