Macro std::task::ready [−][src]
macro_rules! ready { ($e:expr) => { ... }; }
Expand description
提取 Poll<T>
的成功类型。
该宏通过提早返回来传播 Pending
信号。
Examples
#![feature(ready_macro)] use std::task::{ready, Context, Poll}; use std::future::{self, Future}; use std::pin::Pin; pub fn do_poll(cx: &mut Context<'_>) -> Poll<()> { let mut fut = future::ready(42); let fut = Pin::new(&mut fut); let num = ready!(fut.poll(cx)); // ... 使用数字 Poll::Ready(()) }Run
ready!
调用扩展为:
let num = match fut.poll(cx) { Poll::Ready(t) => t, Poll::Pending => return Poll::Pending, };Run