Тип Poll
Тип Poll - это перечисление из модуля std::task,
которое используется в асинхронном программировании для
представления результата проверки готовности Future.
Он имеет два варианта: Ready и Pending.
Вариант Ready содержит значение, которое возвращает
асинхронная операция, а вариант Pending означает,
что операция ещё не завершена и нужно повторить попытку позже.
Синтаксис
enum Poll<T> {
Ready(T),
Pending,
}
Пример
Давайте создадим простое значение типа Poll
с вариантом Ready и выведем его на экран:
use std::task::Poll;
fn main()
{
let res: Poll<i32> = Poll::Ready(42);
println!("{:?}", res);
}
Результат выполнения кода:
Ready(42)
Пример
Давайте создадим значение типа Poll
с вариантом Pending и выведем его на экран:
use std::task::Poll;
fn main()
{
let res: Poll<i32> = Poll::Pending;
println!("{:?}", res);
}
Результат выполнения кода:
Pending
Пример
Давайте обработаем значение Poll с помощью
конструкции match и выведем соответствующее сообщение:
use std::task::Poll;
fn main()
{
let res: Poll<i32> = Poll::Ready(100);
match res {
Poll::Ready(value) => println!("Ready with: {}", value),
Poll::Pending => println!("Still pending"),
}
}
Результат выполнения кода:
Ready with: 100