blob: 1aeebe9b45eff35a2c48161f154efa80f42923e9 (
plain) (
tree)
|
|
discard """
file: "tasyncrecursion.nim"
output: "50005000"
"""
import asyncdispatch
proc asyncRecursionCycle*(counter: int): Future[int] =
var retFuture = newFuture[int]("asyncRecursionTest")
retFuture.complete(counter + 1)
return retFuture
proc asyncRecursionTest*(): Future[int] {.async.} =
var i = 0
result = 0
while i < 10_000:
inc(result, await asyncRecursionCycle(i))
inc(i)
when isMainModule:
setGlobalDispatcher(newDispatcher())
var i = waitFor asyncRecursionTest()
echo i
|