proc slow(label: Str, ms: Int): Str {
hive.task.sleep(ms)
return label
}
proc main(): void {
a := async slow("a", 30) // inicia agora
b := async slow("b", 30) // inicia agora, em paralelo
echo "{a} and {b}" // espera pelos dois, aqui mesmo
}proc slow(label: Str, ms: Int): Str {
hive.task.sleep(ms)
return label
}
proc main(): void {
if slow("c", 300) with timeout 50 is Result.Error(err) {
echo "desistiu depois de {err.waited}ms"
}
}