Join
Uma operação de join espera até que todas as futures de um conjunto estejam prontas e retorna uma coleção de seus resultados. Isso é semelhante a Promise.all
em JavaScript ou asyncio.gather
em Python.
Speaker Notes
This slide should take about 4 minutes.
Copie este exemplo para o seu src/main.rs
preparado e execute-o a partir daĂ.
-
Para vĂĄrias futures de tipos disjuntos, vocĂȘ pode usar
std::future::join!
mas deve saber quantas futures vocĂȘ terĂĄ em tempo de compilação. Isso atualmente estĂĄ no cratefutures
, em breve serĂĄ estabilizado emstd::future
. -
O risco do
join
Ă© que uma das futures pode nunca ser resolvida, o que faria seu programa travar. -
VocĂȘ tambĂ©m pode combinar
join_all
comjoin!
, por exemplo, para unir todas as solicitaçÔes a um serviço http, bem como uma consulta ao banco de dados. Tente adicionar umtokio::time::sleep
para o futuro, usandofutures::join!
. Isso nĂŁo Ă© um timeout (isso requerselect!
, explicado no prĂłximo capĂtulo), mas demonstrajoin!
.