1234567891011121314151617181920212223 |
- 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
|