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

callback-result

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

5 releases

new 0.1.4 Feb 11, 2025
0.1.3 May 11, 2024
0.1.2 Apr 10, 2024
0.1.1 Apr 9, 2024
0.1.0 Mar 20, 2024

#626 in Asynchronous

Download history 2/week @ 2024-11-02 9/week @ 2024-12-07 2/week @ 2025-02-01 95/week @ 2025-02-08

97 downloads per month

MIT license

17KB
390 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
~170K SLoC