파파비의 블로그

플러터, flutter) DatePicker와 Future에 대응하는 2가지 방법 본문

개발/flutter

플러터, flutter) DatePicker와 Future에 대응하는 2가지 방법

N. Dave 2020. 5. 27. 14:37
반응형

일단 DatePicker 얘기부터 해보자

이것이 datepicker이다. 아마 패키지로는 다양한 datepicker 방식이 존재하지 않을까?

이것은 flutter에서 이미 만들어놓은 datapicker이다.

따로 패키지가 필요없다.

 

Datepicker를 소환하는 방법은 쉽다.

Showbottomsheet 처럼, showDatePicker 메소드를 실행하면된다.

VS code의 경우 자동으로 인수들이 무엇이 필요한지 다 나타내는데,

저기서 initial Date는 켰을 때 처음으로 선택되어 있는 날짜이며,

firstDate은 맨 처음 날짜를 가르켜서 여기 이전으로는 더 이상 볼 수가 없다.

lastDate은 맨 마지막 날자다.

 

그런데,

showDatePicker는 return 값이 Future<DateTime>이다.

 

Future에 대응하는 방법은 2가지이다. (더 여럿이 있을 수 있다)

 

< 1. async / await을 이용하는 방법 >

 - await을 쓰고 싶으면 일단 async를 메소드에 적어준다.

 - 값을 기다려야하는 라인에 await를 적어준다.  끝.

 

> 이 방법의 특징은 메소드가, 미래의 완성된 값을 가질 때까지 메소드가 잠깐 중단되어 있다는 것이다.

> 그래서 위의 code의 경우 사용자가 값을 선택완료 한 후에서야 print메소드가 실행된다.

 

< 2. then( 익 명 함 수 )를 이용하는 방법 >

 - async의 포인트는 메소드가 '잠시 중단'이 되는 것이다.

 - 이것은 then이 메모리에 저장되었다가 값이 도출되면 자동으로 실행되며,

 - 메소드가 멈추지 않는다.

 - 또한 async와 같은 추가적인 키워드가 필요하지 않다.

 

위 코드를 보면 이해가 될 것이다. async와 await가 없어도 에러가 안뜨고,

대신 메소드 맨 뒤에 .then을 붙였다 그리고 그때에 실행되길 원하는 메소드를 넣었다.

반응형
Comments