L'espressione spawn avvia una chiamata di funzione asincrona e qualsiasi espressione che segue la spawn viene eseguita immediatamente mentre l'attività della funzione asincrona avviata continua in modo indipendente fino al completamento.
# Continues until completed without blocking
spawn{AsyncFunction1()} # Started at same time as expression0
expression0 # Started at same time as AsyncFunction1()Il codice seguente mostra la sintassi dell'espressione spawn.
expression0
spawn{ expression1 }
expression2Il diagramma seguente mostra il flusso di esecuzione delle espressioni.
Sebbene sia simile a branch, il corpo di spawn è limitato a una singola chiamata di funzione asincrona. Questa espressione è consentita anche al di fuori di un contesto asincrono, quindi è possibile chiamarla sia in funzioni non asincrone che asincrone.
Un'espressione spawn deve essere considerata come una soluzione di emergenza; mentre branch deve essere utilizzata al posto di spawn ove possibile.
Utilizzo dell'espressione spawn
Dove è possibile utilizzare un'espressione | Qualsiasi contesto. |
Tempo di invocazione dell'espressione | Immediato. |
Requisiti per il blocco di codice | Il corpo dell'espressione |
Che cosa fa l'espressione | Il corpo di |
Al termine dell'espressione | L'espressione |
Quando inizia l'espressione successiva a | Qualsiasi espressione successiva all'espressione |
Risultato dell'espressione |
|