join

Macro join 

Source
macro_rules! join {
    ($($tokens:tt)*) => { ... };
}
Available on crate feature async-await only.
Expand description

Polls multiple futures simultaneously, returning a tuple of all results once complete.

While join!(a, b) is similar to (a.await, b.await), join! polls both futures concurrently and therefore is more efficient.

This macro is only usable inside of async functions, closures, and blocks. It is also gated behind the async-await feature of this library, which is activated by default.

ยงExamples

use futures::join;

let a = async { 1 };
let b = async { 2 };
assert_eq!(join!(a, b), (1, 2));

// `join!` is variadic, so you can pass any number of futures
let c = async { 3 };
let d = async { 4 };
let e = async { 5 };
assert_eq!(join!(c, d, e), (3, 4, 5));