add ex087 async 4
parent
3e5647d88c
commit
be279c78f5
@ -0,0 +1,30 @@
|
||||
//
|
||||
// It has probably not escaped your attention that we are no
|
||||
// longer capturing a return value from foo() because the 'async'
|
||||
// keyword returns the frame instead.
|
||||
//
|
||||
// One way to solve this is to use a global variable.
|
||||
//
|
||||
// See if you can make this program print "1 2 3 4 5".
|
||||
//
|
||||
const print = @import("std").debug.print;
|
||||
|
||||
var global_counter: i32 = 0;
|
||||
|
||||
pub fn main() void {
|
||||
var foo_frame = async foo();
|
||||
|
||||
while (global_counter <= 5) {
|
||||
print("{} ", .{global_counter});
|
||||
???
|
||||
}
|
||||
|
||||
print("\n", .{});
|
||||
}
|
||||
|
||||
fn foo() void {
|
||||
while (true) {
|
||||
???
|
||||
???
|
||||
}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
19c19
|
||||
< ???
|
||||
---
|
||||
> resume foo_frame;
|
||||
27,28c27,28
|
||||
< ???
|
||||
< ???
|
||||
---
|
||||
> global_counter += 1;
|
||||
> suspend;
|
Loading…
Reference in New Issue