#回调 #await #转换 #结果 #获取 #async-std #辅助

回调结果

帮助将回调函数获取结果的方法转换为await方法。

4个版本

0.1.3 2024年5月11日
0.1.2 2024年4月10日
0.1.1 2024年4月9日
0.1.0 2024年3月20日

#636 in 异步

MIT 许可证

16KB
378

回调结果

帮助将回调函数获取结果的方法转换为await方法。

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);

依赖项

~5–14MB
~172K SLoC