A expressão spawn inicia uma invocação de função assíncrona, e qualquer expressão que segue spawn é executada imediatamente enquanto a tarefa da função assíncrona iniciada continua independentemente até que seja concluída.
# Continues until completed without blocking
spawn{AsyncFunction1()} # Started at same time as expression0
expression0 # Started at same time as AsyncFunction1()O código a seguir mostra a sintaxe da expressão spawn.
expression0
spawn{ expression1 }
expression2O diagrama abaixo mostra o fluxo de execução das expressões.
Embora seja semelhante à branch, o corpo de spawn é limitado a uma única chamada de função assíncrona. Ela também é permitida fora de um contexto assíncrono e, portanto, pode ser chamada em funções não assíncronas e assíncronas.
Uma expressão spawn deve ser tratada como uma saída de emergência, enquanto branch deve ser usada no lugar de spawn sempre que possível.
Como Usar a Expressão Spawn
Onde uma expressão | Qualquer contexto. |
Tempo de invocação da expressão | Imediato. |
Requisitos do bloco de código de | O corpo da expressão |
O que a expressão | O corpo de uma |
Quando a expressão | A expressão |
Quando a expressão seguinte após | Qualquer expressão seguinte à expressão |
Resultado da expressão | Uma |