#async-await #callback #converting #async-std #results #obtaining #assist

callback-result

Assists in converting the callback function's method of obtaining results into the await method

4 releases

0.1.3 May 11, 2024
0.1.2 Apr 10, 2024
0.1.1 Apr 9, 2024
0.1.0 Mar 20, 2024

#728 in Asynchronous

MIT license

16KB
378 lines

callback-result

Assists in converting the callback function's method of obtaining results into the await method

let waiter = Arc::new(CallbackWaiter::new());
let callback_id = 1;
let result_future = waiter.create_result_future(callback_id);
let tmp_waiter = waiter.clone();
async_std::task::spawn(async move {
    async_std::task::sleep(Duration::from_millis(1000)).await;
    tmp_waiter.set_result(callback_id, 1);
});
let ret = result_future.await.unwrap();
assert_eq!(ret, 1);

Dependencies

~4–13MB
~165K SLoC