mirror of
https://github.com/status-im/nim-codex.git
synced 2025-02-13 03:06:43 +00:00
15 lines
342 B
Nim
15 lines
342 B
Nim
import pkg/chronos
|
|
|
|
template always*(condition: untyped, timeout = 50.millis): bool =
|
|
proc loop(): Future[bool] {.async.} =
|
|
let start = Moment.now()
|
|
while true:
|
|
if not condition:
|
|
return false
|
|
if Moment.now() > (start + timeout):
|
|
return true
|
|
else:
|
|
await sleepAsync(1.millis)
|
|
|
|
await loop()
|