а не просто ()?
async fn some_fn() -> JoinHandle<()> {
tokio::spawn(async {
println!("some_fn");
})
}
async fn some_fn1() -> JoinHandle<()> {
tokio::spawn(async {
println!("some_fn1");
})
}
let (res, res1): (JoinHandle<()>, JoinHandle<()>) = tokio::join!(some_fn(), some_fn1());
потому что join возвращает результат футуры, он и JoinHandle немного про разное
А почему some_fn - async функция? Получается что она возвращает impl Future<Output=JoinHandle> Так и задумано?
Обсуждают сегодня