actix_utils::future

# Function poll_fn

source

    pub fn poll_fn<F, T>(f: F) -> PollFn<F> ⓘwhere
        F: FnMut(&mut Context<'_>) -> Poll<T>,

Expand description

Creates a future driven by the provided function that receives a task context.

## §Examples

    let res = poll_fn(|_| Poll::Ready(42)).await;
    assert_eq!(res, 42);

    let mut i = 5;
    let res = poll_fn(|cx| {
        i -= 1;

        if i > 0 {
            cx.waker().wake_by_ref();
            Poll::Pending
        } else {
            Poll::Ready(42)
        }
    })
    .await;
    assert_eq!(res, 42);