利用 Futures 包理解异步操作
1. Futures 包的基本类型
Futures 包为 Rust 开发者提供了用于异步编程的零成本抽象,它契合 Rust 的借用系统,有助于创建轮询资源并在结果可用时返回的类型。日常使用中,仅需了解 Futures 包的几种类型,其中三个基本类型为 Future 、 Stream 和 Sink 。
2. 使用 Future 特性
Future 是一个特性,它代表一个无法立即完成的操作,并在未来返回结果。和 Result 枚举类似, Future 有两个结果变体,由关联类型 Item 和 Error 表示。该特性有一个 poll 方法,用于获取结果。这个方法会被反应器调用,直到返回 Error 或 Async::Ready 值。 Async 是一个枚举,有 Ready 和 Pending 两个变体,用于表示异步操作的结果。 Ready 表示值已准备好使用,而 Pending 表示值尚未可用,稍后会准备好。
与 Result 不同, Future 是一个特性,意味着其实现未被指定,许多类型都
超级会员免费看
订阅专栏 解锁全文
1371

被折叠的 条评论
为什么被折叠?



