내 스마트 폰으로 창문 덮개를 조작하고 싶습니다. 이제 때마다 내 휴대 전화에 TPOS는 0과 목표 위치입니다 (100) 사이의 정수입니다골란 : 스티어링 윈도우 덮음
func main() {
OnUpdate(func(tPos int) {
wc(tPos,cPos)
cPos = tPos
}
}
가 호출되는 방법을 위치를 변경합니다. 현재 위치 cPos에 대한 변수도 있습니다. OnUpdate는 cPos와 tPos 간의 순서 관계에 따라 창을 열거 나 닫는 함수를 호출해야합니다. 이 함수는 다음과 같습니다.
func wc(tPos int, cPos int){
switch{
case tPos == 0:
log.Println("close")
case tPos == 100:
log.Println("open")
case tPos > cPos:
t := time.Duration((tPos - cPos)*10*openTime)
log.Println("open")
time.Sleep(t * time.Millisecond)
log.Println("stop")
case tPos < cPos:
t := time.Duration((cPos - tPos)*10*closeTime)
log.Println("close")
time.Sleep(t * time.Millisecond)
log.Println("stop")
}
}
내 문제는 약간의 지연이 있어야한다는 것입니다. OnUpdate가 호출 된 후 3 초 동안 타이머가 있고 그 다음 3 초 동안 OnUpdate가 다시 호출되지 않으면 wc가 호출되기를 원합니다.
하지만 어떻게해야할지 모르겠다. 누군가 그것을 할 수있는 좋은 방법이 무엇인지 말해 줄 수 있습니까?