Flutter 개발을 하다보면 Future를 반환하는 메소드를 자주 접하게 됩니다.
대부분 FutureBuilder를 사용해서 Future 메소드 값에 접근할 수 있지만
Future나 FutureBuilder에 대한 개념이 부족할 때는
Future<String>
, Future<int>
등 분명 리턴 타입이 있는데
Future로 감싸져 있어서 출력도 안되고 리턴 값에 접근하기가 어려웠습니다.
아래는 이름을 출력하는 Future<String>
타입의 메소드가 있습니다.
getName()메소드가 반환하는 값에 어떻게 접근할까요?
Future<String> getName() {
return Future.delayed(Duration(seconds: 3), () {
return "다은";
});
}
이때 then 메소드를 사용하면 Future 리턴 값에 접근할 수 있습니다.
getName().then((value){
print(value); // 결과 : 다은
});