pub async fn future_fn<T, F>(fn_: F) -> T
Expand description
Implements a Future
from a closure.
§Examples
A future that is ready with a closure returns Some(R)
.
use zng_task as task;
use std::task::Poll;
async fn ready_some<R>(mut closure: impl FnMut() -> Option<R>) -> R {
task::future_fn(|cx| {
match closure() {
Some(r) => Poll::Ready(r),
None => Poll::Pending
}
}).await
}