mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 01:14:41 +00:00
* followup #16871 asyncjs.then: allow pipelining procs returning futures * rename test files where they belong * fix tests * tests for then with `onReject` callback * rename test file containing fail to avoid messing with grep * address comments * cleanup * un-disable 1 test
23 lines
535 B
Nim
23 lines
535 B
Nim
discard """
|
|
exitCode: 1
|
|
outputsub: "Error: unhandled exception: foobar: 13"
|
|
"""
|
|
|
|
# note: this needs `--unhandled-rejections=strict`, see D20210217T215950
|
|
|
|
import std/asyncjs
|
|
from std/sugar import `=>`
|
|
|
|
proc fn(n: int): Future[int] {.async.} =
|
|
if n >= 7: raise newException(ValueError, "foobar: " & $n)
|
|
else: result = n
|
|
|
|
proc main() {.async.} =
|
|
let x1 = await fn(6)
|
|
doAssert x1 == 6
|
|
await fn(7).catch((a: Error) => (discard))
|
|
let x3 = await fn(13)
|
|
doAssert false # shouldn't go here, should fail before
|
|
|
|
discard main()
|