Skip to content

Tasks

tasks.sub
fn work() {
let a = spawn(fn() {
print("a runs")
1
})
let b = spawn(fn() {
print("b never runs")
2
})
let r = await(a) or 0
r + 10
}
print(work())
a runs
11

A task is lazy and structured. spawn makes it, await runs it and gives its result, and a task nobody awaited is cancelled when its function ends. b never runs is never printed.