1 个稳定版本
1.0.0 | 2023年6月2日 |
---|
#15 in #defer
6KB
63 行代码(不包括注释)
rdefer
一个 Rust 包,为同步和异步代码提供 defer 功能。
用法
同步 defer
use rdefer::defer;
let _d = defer!({
println!("This will be printed last");
});
println!("This will be printed first");
异步 defer(功能受限制)
此功能位于异步功能标志之后。
要使用此功能,请将 rdefer 添加到您的 Cargo.toml 中,并启用异步功能
[dependencies]
rdefer = { version = "*", features = ["async"] }
然后您可以按以下方式使用它
use rdefer::{async_defer, exec_before_defer};
use std::sync::Arc;
let defer = async_defer!(2, async {
println!("This will be printed last");
});
exec_before_defer!(defer, || println!("This will be printed first"));
exec_before_defer!(defer, || println!("This will be printed second"));
lib.rs
:
一个 Rust 包,为同步和异步代码提供 defer 功能。
此包提供类似于 Go 的 defer
语句的 defer 功能。此外,它还允许异步 defer。这是通过使用在每次执行 defer 时递减的计数器来实现的。当计数器达到 0 时,执行提供的函数。
依赖
~0–6MB
~21K SLoC