1 个不稳定版本
0.1.0 | 2021年1月23日 |
---|
#10 in #again
11KB
159 代码行
tryagain
如果失败则再次尝试事物的库。
lib.rs
:
一个用于再次尝试事物的crate。
tryagain
是一个受 backoff 启发的crate,它提供了一种更简单的方式来取消重试尝试,并使用非阻塞的异步实现。
同步示例
fn fails() -> Result<(), i32> {
Err(0)
}
// Will never resolve into, will spin forever.
let value = tryagain::retry(ImmediateBackoff, fails);
异步示例
async fn fails() -> Result<(), i32> {
Err(0)
}
// Will never resolve into, will spin forever.
let value = tryagain::future::retry(ImmediateBackoff, fails).await;
依赖项
~0–13MB
~114K SLoC