mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-03 11:42:33 +00:00
asyncdispatch.nim recursion test. (#5534)
This commit is contained in:
committed by
Andreas Rumpf
parent
b1c494a150
commit
ac2f1996a8
21
tests/async/tasyncrecursion.nim
Normal file
21
tests/async/tasyncrecursion.nim
Normal file
@@ -0,0 +1,21 @@
|
||||
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:
|
||||
var i = waitFor asyncRecursionTest()
|
||||
echo i
|
||||
Reference in New Issue
Block a user