[][src]Macro join::join_async

macro_rules! join_async {
    #[proc_macro_hack(support_nested, internal_macro_calls = 20)] => { ... };
}

Use to combine futures.

#![recursion_limit="256"]

extern crate join;
extern crate futures;

use join::join_async;
use futures::future::ok;

#[tokio::main]
async fn main() {
    let product = join_async! {
        ok::<_,u8>(2u16) => |v| ok::<_,u8>(v + 2u16),
        ok::<_,u8>(3u16),
        ok::<_,u8>(4u16),
        map => |a, b, c| a * b * c
    }.await.unwrap();

    assert_eq!(product, 48);
}