Функция async
/ await
скоро появится, но есть много библиотек, все еще использующих фьючерсы 0.1. Как мы конвертируем между ними?
Преобразование асинхронного будущего в 0,1 будущее охватывает преобразование асинхронного будущего в 0,1 будущее.
Как стеретьтип будущего в новом будущем API? говорит о функции async
, которая вызывает будущее с 0.1 и получает результат, но где макрос await!()
, который я могу импортировать? Кажется, он больше не компилируется.
struct A_future01;
impl A_future01 {
pub fn exec1() -> Box<dyn Future<Item=String, Error=()>> {
Box::new(futures::future::result("ok"))
}
pub fn exec2() -> Box<dyn Future<Item=String, Error=()>> {
Box::new(call().unit_error().boxed().compat()) //Like this## Heading ##?
}
}
async fn call() -> Result<(), Box<dyn std::error::Error>> {
let result_from_a = A_future01::exec().await(); //how can I achieve this ?
Ok(())
}