reactor-rust is an implementation of the Reactive-Streams in Rust. It is under active development. Do not use it in a production environment!
Add reactor_rs = 0.0.3
in your Cargo.toml
.
Here are some basic example codes:
```rust extern crate reactor_rs;
use reactorrs::mono; use reactorrs::prelude::*; use reactor_rs::schedulers; use std::{thread, time::Duration};
fn main() { let result = mono::just(42) .doonsuccess(|n| { println!( "Answer to the Ultimate Question of Life, The Universe, and Everything: {}", n ); }) .subscribeon(schedulers::newthread()) .flatmap(|n| { // flatmap async and sleep 500ms. mono::success(move || { thread::sleep(Duration::frommillis(500)); n * 2 }) .subscribeon(schedulers::new_thread()) }) .map(|n| n * 2) .block() .unwrap() .unwrap(); println!("now it should be {}: actual={}!", 42 * 4, result); } ```