Async: Best way to download many files without overloading the client and/or the server? (native & web/wasm)

Ended up doing

async fn process_parallel() -> Result<(), MyError> {
    let mut par_things = FuturesUnordered::new();
    // ...
    par_things.push(async move {
        // ...
    });
    while let Some(data_result) = par_things.next().await {
        let _ = data_result?;
    }
}

These posts contained some further helpful tips that I will be looking at shortly:

Thanks for the input, everyone!