비동기 프로그래밍

devkwon·2023년 2월 13일
0

Future

미래에 받아올 값을 뜻한다. List나 Set처럼 제네릭으로 어떤 값을 받아올지 지정할 수 있다.

Future<int> number;
Future func; // dynamic

future.delayed를 사용하면 일정 시간 후 콜백 함수를 실행할 수 있다.

Future.delayed(Duration(seconds:3),(){
	print('delay');
 }
);
  print('done');

결과:

done
delay

async await

다음과 같이 async, await 키워드를 사용하면 코드가 작성된 순서로 실행되기 때문에 비동기 프로그래밍을 유지하면서도 코드 가독성을 유지할 수 있다.

Future Add(int number1, int number2) async{
	await Future.delayed(Duration(seconds:3),()=> print(number1+number2)); // 1
    print('done'); // 2
}

결과:

3
done

0개의 댓글