Files
llgo/x/async/_demo/gendemo/gendemo.go

27 lines
343 B
Go
Raw Normal View History

2024-08-04 09:54:34 +08:00
package main
2024-08-05 20:21:11 +08:00
import (
"fmt"
"github.com/goplus/llgo/x/async"
)
2024-08-04 09:54:34 +08:00
func GenInts() (co *async.Promise[int]) {
2024-08-05 20:21:11 +08:00
println("gen: 1")
2024-08-04 09:54:34 +08:00
co.Yield(1)
2024-08-05 20:21:11 +08:00
println("gen: 2")
2024-08-04 09:54:34 +08:00
co.Yield(2)
2024-08-05 20:21:11 +08:00
println("gen: 3")
2024-08-04 09:54:34 +08:00
co.Yield(3)
return
}
func main() {
co := GenInts()
for !co.Done() {
2024-08-05 20:21:11 +08:00
fmt.Printf("got: %v\n", co.Value())
co.Next()
2024-08-04 09:54:34 +08:00
}
2024-08-05 20:21:11 +08:00
fmt.Printf("done\n")
2024-08-04 09:54:34 +08:00
}