Usuário com melhor resposta
Método Async e operador Await

Pergunta
-
Recentemente comecei a ler sobre programação assíncrona, no VB temos o método Async, porém não consigo entender como utilizo o operador Await.
Imagino que tal operador deva ser utilizado da seguinte maneira:
Public Async Function Calcular() As Task (Of Integer)
Dim soma As Integer = Await Somar()
Return soma
End Function
Private Function Somar()
return 2 + 2
End Function
Posso estar muito enganado....
Respostas
-
Olá, Tiago!
O operador "await" é usado comumente em execuções de tarefas assíncronas, tarefas que executam junto de outras tarefas. Por exemplo, um sistema em que o usuário faz o upload de arquivos. Se o procedimento de receber os arquivos for assíncrono (Async), o usuario poderá utilizar o sistema normalmente enquanto o upload ocorre em segundo plano.
O "await", nesse caso, seria utilizado para fazer a proxima tarefa aguardar até que todos os arquivos fossem carregados.
No código que você postou, todo o restante após o "Await Somar()" iria aguardar até que "Somar()" concluísse.
Segue um artigo que irá ajudar a compreensão.
https://docs.microsoft.com/pt-br/dotnet/visual-basic/language-reference/operators/await-operator
“First do it, then do it right, then do it better.” - Addy Osmani
- Marcado como Resposta Tiago.SP segunda-feira, 25 de março de 2019 18:51
Todas as Respostas
-
Olá, Tiago!
O operador "await" é usado comumente em execuções de tarefas assíncronas, tarefas que executam junto de outras tarefas. Por exemplo, um sistema em que o usuário faz o upload de arquivos. Se o procedimento de receber os arquivos for assíncrono (Async), o usuario poderá utilizar o sistema normalmente enquanto o upload ocorre em segundo plano.
O "await", nesse caso, seria utilizado para fazer a proxima tarefa aguardar até que todos os arquivos fossem carregados.
No código que você postou, todo o restante após o "Await Somar()" iria aguardar até que "Somar()" concluísse.
Segue um artigo que irá ajudar a compreensão.
https://docs.microsoft.com/pt-br/dotnet/visual-basic/language-reference/operators/await-operator
“First do it, then do it right, then do it better.” - Addy Osmani
- Marcado como Resposta Tiago.SP segunda-feira, 25 de março de 2019 18:51
-
-
A programação assíncrona é muito interessante e poderosa, porém necessita de uma certa compreensão para a implementação. Procure saber sobre Threads, semáforos, deadlocks, etc. Acredito que irá te agregar um ótimo conhecimento!
“First do it, then do it right, then do it better.” - Addy Osmani