연속적으로 클릭하는 클릭을 제한하려고한다.
변수선언
DateTime? lastTapTime;
코드작성
if (lastTapTime == null || now.difference(lastTapTime)!.inMilliseconds > 1000) {
lastTapTime = now;
/* 실행하려고하는 코드 */
}
now 는 말그대로 현재 시간임
첫번째 조건은 lastTapTime 이 아직 설정되지 않았다는건 => 사용자가 아직 한번도 탭을 하지않았다는의미임
두번째 조건은 now.difference(lastTapTime!).inMilliseconds >1000 에서
now.difference(lastTapTime!) 은 현재 시간과 마지막 시간 사이의 차이임
이게 뭔말이냐면
사용자가 클릭한 시간이 10시 10분 10초 이다.
now 의 값은 10시 10분 10초
그리고 사용자가 10시 10분 10초 500ms 에 클릭을했다면
lastTapTime 의 값은 10시 10분 10초 500ms 이다.
now 와 lastTapTime 의 현재 시간과 마지막 시간 사이에는 500ms 이다.
즉 1초가 안넘어가기 때문에 10시 10분 10초 500ms 때에 사용자가 클릭한 내용은 실행되지않고 무시된다.
무시된다는거는 스택,큐로 안쌓인다는 뜻임