Valeurs de retour des coroutines dans Unity
Dans le développement de jeux utilisant Unity, les coroutines sont couramment utilisées pour effectuer des tâches asynchrones, telles que l'envoi de requêtes HTTP . Cependant, récupérer les résultats d'une coroutine une fois celle-ci terminée peut s'avérer difficile.
Considérez l'extrait de code suivant, dans lequel une coroutine est utilisée pour exécuter une requête POST et mettre à jour une variable, success_fail :
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
Le problème ici est que l'instruction return s'exécute avant la fin de la coroutine, ce qui entraîne le retour d'une valeur incorrecte. Pour résoudre ce problème, nous pouvons utiliser l'approche suivante :
Utiliser des actions
Au lieu de renvoyer une valeur directement à partir de la fonction, nous pouvons utiliser une action
1 2 3 4 5 6 7 8 9 10 |
|
Dans la coroutine, nous définissons la variable success_fail et invoquons le rappel avec sa valeur :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
Vous pouvez appeler la fonction POST depuis n'importe quel script et fournissez un rappel pour gérer le résultat :
1 2 3 |
|
Cette approche vous permet de récupérer la valeur de la coroutine une fois celle-ci terminée, même si la fonction est déjà revenue.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!