Li Boxiu


A Developer


Defination of Task:

pub trait Task<T> {
    fn poll(wk:||=>void) Option<T>;
}

Await transformation:

await doTask();

to

let task = doTask();
let re = task.poll(wk);
while re is None {
    yield return None;
    re = task.poll(wk);
}
let ret = re as T!;