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 异步
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