前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Futures低调发布0.3.1正式版,全面支持async/await

Futures低调发布0.3.1正式版,全面支持async/await

作者头像
MikeLoveRust
发布2019-11-14 15:23:35
7370
发布2019-11-14 15:23:35
举报
文章被收录于专栏:Rust语言学习交流

无需Tokio/Async-std,自带Runtime。代码库的参考文档比较完善,只是缺少应用指南。下面是一段测试代码:

代码语言:javascript
复制
use futures::executor::block_on;
use futures::future::{join_all, pending, select_all};
use futures::prelude::*;

async fn a(a: i32, b: i32) -> i32 {
    a + b
}

async fn b(a: i32, b: i32) -> i32 {
    a - b
}

async fn c(a: i32, b: i32) -> i32 {
    pending().await
}

fn main() {
    let r = block_on(async {
        println!("{}", a(1, 2).await);
        println!("{}", b(1, 2).await);

        async fn foo(i: u32) -> u32 {
            i * 10
        }

        let futures = vec![foo(1), foo(2), foo(3)];
        let all_finished = join_all(futures).await;
        println!("{:?}", all_finished);

        // let first_finished = select_all(futures).await;
        // println!("{:?}", first_finished);

        "block_on result"
    });
    println!("{}", r)
}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rust语言学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档