creating delayed reactor
This commit is contained in:
@@ -1025,8 +1025,9 @@
|
||||
;; delayed reactor
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(define/contract (webview-delayed-reactor seconds value-callback)
|
||||
(-> number? procedure? procedure?)
|
||||
(define/contract (webview-delayed-reactor seconds value-callback
|
||||
#:update [update-callback (λ (val) #t)])
|
||||
(->* (number? procedure?) (#:update procedure?) procedure?)
|
||||
(let ((value-set-at -1)
|
||||
(value 'none)
|
||||
(wait-thread #f)
|
||||
@@ -1035,6 +1036,7 @@
|
||||
(λ (val)
|
||||
(set! value val)
|
||||
(set! value-set-at (current-milliseconds))
|
||||
(update-callback val)
|
||||
(when (eq? wait-thread #f)
|
||||
(set! wait-thread (thread (λ ()
|
||||
(let loop ((vsa value-set-at))
|
||||
|
||||
Reference in New Issue
Block a user