mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 17:34:43 +00:00
* Fix https://github.com/nim-lang/Nim/issues/13889 * Add testcase * Reduce test time Co-authored-by: Elie Zedeck RANDRIAMIANDRIRAY <elie.zedeck@gmail.com>
28 lines
527 B
Nim
28 lines
527 B
Nim
discard """
|
|
output: '''
|
|
believer Foo is saved:true
|
|
believer Bar is saved:true
|
|
believer Baz is saved:true
|
|
'''
|
|
"""
|
|
|
|
import asyncdispatch
|
|
|
|
var
|
|
promise = newFuture[bool]()
|
|
|
|
proc believers(name: string) {.async.} =
|
|
let v = await promise
|
|
echo "believer " & name & " is saved:" & $v
|
|
|
|
asyncCheck believers("Foo")
|
|
asyncCheck believers("Bar")
|
|
asyncCheck believers("Baz")
|
|
|
|
proc savior() {.async.} =
|
|
await sleepAsync(50)
|
|
complete(promise, true)
|
|
await sleepAsync(50) # give enough time to see who was saved
|
|
|
|
waitFor(savior())
|