быть у этой функции. Она должна возвращать фьючу которая объеденяет несколько их в себе
async fn download_pics_async(submissions: &Submissions, download_dir: &Path) -> ??? {
let futures = submissions
.data
.children
.iter()
.filter_map(|x| x.data.url.as_ref())
.filter(|url| filter_url(url))
.map(|url| download(url, download_dir))
.collect::<Vec<_>>();
futures::future::join_all(futures)
}
join_all возвращает вектор, ты вероятно хочешь вернуть что-то вроде `impl Iterator<Item = F> + '_ where F: Future<Output = ()>
И убрать collect и join_all
async fn .. -> Vec<...> { ... join_all(futures).await }
Обсуждают сегодня