< 返回版块

Cupnfish 发表于 2022-06-09 20:40

用IntoFuture into 到 Future--改善Rust异步的人体工程学

一篇介绍 IntoFuture trait的博文。

tokio::time::sleep(Duration::from_secs(10)).await;
// 想象一下上一行代码可以简化成下面这样
Duration::from_secs(10).await;


futures::future::join_all((fut1, fut2)).await;
// 想象一下上一行代码可以简化成下面这样
(fut1, fut2).await;

futures::future::join_all(vec![fut1, fut2]).await;
// 想象一下上一行代码可以简化成下面这样
vec![fut1, fut2].await

let response = reqwest::Client::new()
    .post("https://domain/api/create")
    .header("key", "value")
    .json(...)
    .send()
//  ^^^^^^^
    .await?;

let response = reqwest::Client::new()
    .post("https://domain/api/create")
    .header("key", "value")
    .json(...)
//  .send() 没有了这个send是不是会更好呢?
//  ^^^^^^^
    .await?;

好消息是:自2021年12月以来,实现这些模式的功能已经在Rust的nightly版上可用,并最终走向稳定。

Blog: https://refaktory.net/blog/posts/into-the-future-with-intofuture-improving-rust-async-ergonomics

本月Rust操作系统开发生态进展

This Month in Rust OSDev: https://rust-osdev.com/this-month/2022-05/

本月Rust游戏开发生态进展

新一期的 Rust 游戏开发本月进展已经发布:

This Month in Rust GameDev: https://gamedev.rs/news/034/

This Week in Rust 446

新一期的 Rust 周报速递发布,快来看看有哪些内容你曾经关注过 :)

This Week in Rust 446: https://this-week-in-rust.org/blog/2022/06/08/this-week-in-rust-446/

From 日报小组 Cupnfish

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页