🦀 wait_not_await

Simple awaiter implementation in Rust ## Examples ### Await as a variable ```rs use std::time::Duration; use wait_not_await::Await; let mut awaiter = Await::new(move || { std::thread::sleep(Duration::from_secs(3)); "Hello, Wolrd!".to_string() }); if let Some(result) = awaiter.wait(None) { println!("Result: {}", result); } ``` ### Await with functions ```rs use std::time::Duration; use wait_not_await::Await; fn async_hello_world() -> Await { Await::new(move || { std::thread::sleep(Duration::from_secs(2)); "Hello, World!".to_string() }) } println!("{}", async_hello_world().wait(None).unwrap()); ``` ### Await result handling ```rs use std::time::Duration; use wait_not_await::Await; let awaiter = Await::new(move || { std::thread::sleep(Duration::from_secs(3)); "Hello, Wolrd!".to_string() }); awaiter.then(move |result| { println!("Task result: {}", result); }); ``` ### Await loop with result ```rs use std::time::Duration; use wait_not_await::Await; fn async_hello_world() -> Await { Await::new(move || { std::thread::sleep(Duration::from_secs(2)); "Hello, World!".to_string() }) } let mut awaiter = async_hello_world(); let mut i = 1; while let None = awaiter.result() { println!("Waiting for result: {}", i); i += 1; } println!("{}", awaiter.result().unwrap()); ``` Author: [Nikita Podvirnyy](https://vk.com/technomindlp) Licensed under [MIT](LICENSE)