Js.Global
Bindings to functions in the JS global namespace
Contains functions available in the global scope (window
in a browser context)
Identify an interval started by setInterval
Identify timeout started by setTimeout
val clearInterval : intervalId -> unit
Clear an interval started by setInterval
(* API for a somewhat aggressive snoozing alarm clock *)
let interval = ref Js.Nullable.null
let remind () =
Js.log "Wake Up!";
IO.punchSleepyGuy ()
let snooze mins =
interval := Js.Nullable.return (Js.Global.setInterval remind (mins * 60 * 1000))
let cancel () =
Js.Nullable.iter !interval (fun[\@u] intervalId -> Js.Global.clearInterval intervalId)
val clearTimeout : timeoutId -> unit
Clear a timeout started by setTimeout
(* A simple model of a code monkey's brain *)
let timer = ref Js.Nullable.null
let work () =
IO.closeHackerNewsTab ()
let procrastinate mins =
Js.Nullable.iter !timer (fun[\@u] timer -> Js.Global.clearTimeout timer);
timer := Js.Nullable.return (Js.Global.setTimeout work (mins * 60 * 1000))
val setInterval : f:(unit -> unit) -> int -> intervalId
Repeatedly executes a callback with a specified interval (in milliseconds) between calls
Return an intervalId
that can be passed to clearInterval
to cancel the timeout
val setIntervalFloat : f:(unit -> unit) -> float -> intervalId
Repeatedly executes a callback with a specified interval (in milliseconds) between calls
Return an intervalId
that can be passed to clearInterval
to cancel the timeout
val setTimeout : f:(unit -> unit) -> int -> timeoutId
Execute a callback after a specified delay (in milliseconds)
returns a timeoutId
that can be passed to clearTimeout
to cancel the timeout
val setTimeoutFloat : f:(unit -> unit) -> float -> timeoutId
Execute a callback after a specified delay (in milliseconds)
returns a timeoutId
that can be passed to clearTimeout
to cancel the timeout
URL-encodes a string, including characters with special meaning in a URI.