2个不稳定版本

0.2.0 2024年1月1日
0.1.0 2023年12月2日

#785 in 异步

MIT/Apache

41KB
1K SLoC

Async Monad

该库旨在在异步控制流中使用像 core::Resultcore::Option 这样的monad。

包装的Async Monad

async_monad::async_wrapped 提供了 ResultOption 的内部异步版本。这些monad将 Future 保存其中,这使得您可以使用它们同步并一次性等待。

通常,所有对它们的操作都会创建一个新的 Future,移动和克隆所有相关数据,因此性能(某种程度上)会比手动处理差。其余的方法(标记为 async)将消耗 Future 并生成一些结果。

异步标准Monad操作

async_monad::async_traits 提供了std api的异步版本,它接受 Future 和异步函数。

该实用工具隐藏在 async_trait 功能后面,该功能默认启用。由于它使用了自Rustc 1.75以来稳定的特性,您必须通过 rustup 更新rustc或手动禁用该功能。

无运行时依赖