async와 await

다은·2021년 5월 3일
0

🎯 Flutter

목록 보기
9/27
post-thumbnail

비동기와 동기의 뜻

먼저 비동기와 동기의 차이점이 뭔지 알아야 이해하기 쉬울 것 같습니다.

비동기(asynchronous)

  • 요청과 결과가 동시에 일어나지 않는다는 약속
  • 작업 처리 단위를 맞추지 않아도 됨
  • 결과를 내는동안 다른 작업을 할 수 있음
  • 설계가 복잡하지만 자원을 효율적으로 사용할 수 있음

동기(synchronous)

  • 요청과 결과가 동시에 일어난다는 약속
  • 요청하면 소요시간에 상관없이 결과를 받아내야 함
  • 결과가 주어질 때까지 아무것도 못하고 대기해야 함
  • 설계가 간단하고 직관적임

async - await 사용하기

async - await은 Dart언어에서 비동기를 처리하기 위한 키워드입니다.

  1. await 키워드는 async 함수에서만 사용할 수 있음
  2. async 함수는 Future를 반환해야 함 ( Future 설명 )

await이 붙은 변수는 통신이 완료될 때까지 기다린 후 결과값을 반환합니다.

Future<String> printStr() async {
  final id = await _loadFromDisk();
  final data = await _fetchNetworkData(id);
  return ProcessedData(data);
}
profile
천방지축 어리둥절 빙글빙글

0개의 댓글