먼저 비동기와 동기의 차이점이 뭔지 알아야 이해하기 쉬울 것 같습니다.
비동기(asynchronous)
동기(synchronous)
async - await은 Dart언어에서 비동기를 처리하기 위한 키워드입니다.
- await 키워드는 async 함수에서만 사용할 수 있음
- async 함수는 Future를 반환해야 함 ( Future 설명 )
await이 붙은 변수는 통신이 완료될 때까지 기다린 후 결과값을 반환합니다.
Future<String> printStr() async {
final id = await _loadFromDisk();
final data = await _fetchNetworkData(id);
return ProcessedData(data);
}