當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Rust ready用法及代碼示例


本文簡要介紹rust語言中 Macro std::task::ready 的用法。

用法

pub macro ready($e : expr) {
    ...
}

提取 Poll<T> 的成功類型。

該宏通過提前返返回烘焙 Pending 信號的傳播。

例子

#![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));
    // ... use num

    Poll::Ready(())
}

ready! 調用擴展為:

let num = match fut.poll(cx) {
    Poll::Ready(t) => t,
    Poll::Pending => return Poll::Pending,
};

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 Macro std::task::ready。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。