blob: 45839899f8b937c6f25e9708bc891943a50253d6 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
discard """
output: '''hi
bye'''
"""
import async, times
when defined(js):
proc sleepAsync(t: int): Future[void] =
var promise = newPromise() do(resolve: proc()):
{.emit: """
setTimeout(function(){
`resolve`();
}, `t`);
""".}
result = promise
else:
from asyncdispatch import sleepAsync, waitFor
proc foo() {.async.} =
echo "hi"
var s = epochTime()
await sleepAsync(500)
var e = epochTime()
doAssert(e - s > 0.1)
echo "bye"
when defined(js):
discard foo()
else:
waitFor foo()
|