2 个版本 (1 个稳定版)
1.0.0 | 2023年5月31日 |
---|---|
0.1.0 | 2023年3月6日 |
#587 在 并发
16KB
288 行
PromiseOut-rust
promiseOut 的 rust 版本
添加 cargo.toml
[dependencies]
promise_out = "0.1.0"
示例
#[test]
fn test_promise_out_resolve() {
let (op, op_a) = Producer::<String, ()>::new();
let task1 = thread::spawn(move || {
block_on(async {
println!("我等到了{:?}", op_a.await);
})
});
let task2 = thread::spawn(move || {
block_on(async {
println!("我发送了了{:?}", op.resolve(String::from("🍓")));
})
});
task1.join().expect("The task1 thread has panicked");
task2.join().expect("The task2 thread has panicked");
}
#[test]
fn test_promise_out_reject() {
let (a, b) = Producer::<String, String>::new();
let task1 = thread::spawn(|| {
block_on(async {
println!("我等到了{:?}", b.await);
})
});
let task2 = thread::spawn(|| {
block_on(async {
println!("我发送了了{:?}", a.reject(String::from("reject!!")));
})
});
task1.join().expect("The task1 thread has panicked");
task2.join().expect("The task2 thread has panicked");
}