pub fn unfold<T, F, Fut, Item, E>(init: T, function: F) -> Unfold<T, F, Fut>
Expand description
Create a sink from a function which processes one item at a time.
ยงExamples
use core::pin::pin;
use crate::sink::{self, SinkExt};
let unfold = sink::unfold(0, |mut sum, i: i32| {
async move {
sum += i;
eprintln!("{}", i);
Ok::<_, core::convert::Infallible>(sum)
}
});
let mut unfold = pin!(unfold);
unfold.send(5).await?;