promise_out 0.1.0

promiseOut version for rust
Documentation

PromiseOut-rust

promiseOut的rust版本

add cargo.toml

[dependencies]
 promise_out = "0.1.0"

example

#[test]
fn test_promise_out_resolve() {
    let op: PromiseOut<String> = PromiseOut::default();
    let op_a  = op.clone();
    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 op: PromiseOut<String> = PromiseOut::default();
    let a = op.clone();
    let task1 = thread::spawn(|| block_on(async {
        println!("我等到了{:?}", a.await);
    }));
    let b = op.clone();
    let task2 = thread::spawn(|| block_on(async {
        println!("我发送了了{:?}", b.reject(String::from("reject!!")));
    }));
    task1.join().expect("The task1 thread has panicked");
    task2.join().expect("The task2 thread has panicked");
}