Rust 程序设计语言 简体中文版 1.85.0
例如,这里有多个存放了不同类型和属性文本的结构体:结构体 NewsArticle 用于存放发生于 世界各地的新闻故事,而结构体 SocialPost 最多只能存放 280 个字符的内容,以及指示该帖 子是新发布的、转发的还是对另一条帖子的回复的元数据。 我们想要创建一个名为 aggregator 的多媒体聚合库用来显示可能储存在 NewsArticle 或 SocialPost 实例中的数据摘要。为了实现功能 Message: 'j' 不过,我们可以使用常规的 Receiver API 甚至是 Iterator API 来做到这些,所以让我们增加 一个需要流的功能:增加一个适用于流中所有项的超时,和一个发送项的延时,如示例 17-34 所示。 文件名:src/main.rs use std::{pin::pin, time::Duration}; use trpl::{ReceiverStream, Stream match 其结果要么在成功接收时打印消息要么打印一个超 时的提示。最后,请注意我们在加上超时之后 pin 住了这些消息,因为超时辅助函数产生了一 个需要 pin 住才能轮询的流。 然后,因为消息之间没有延时,超时并不会改变程序的行为。让我们为发送的消息增加一个延 时变量,如示例 17-35 所示。 文件名:src/main.rs fn get_messages() -> impl Stream0 码力 | 562 页 | 3.23 MB | 9 天前3
共 1 条
- 1