Dans ce scénario, le but est de terminer l'exécution d'une fonction parent (apiEndpoint() ) lorsqu'un événement spécifique se produit dans une fonction enfant (apiResponse()). La fonction parent contient plusieurs appels à la fonction enfant, et il est souhaité que si apiResponse() rencontre une condition d'erreur, elle arrête immédiatement l'exécution de apiEndpoint().
Il est important de noter qu'une fonction ne peut pas contrôler directement le flux d'exécution de son appelant. Cela signifie que apiResponse() ne peut pas rendre explicitement le contrôle à apiEndpoint().
Au lieu de vous fier à une instruction return dans apiResponse(), envisagez d'utiliser des instructions conditionnelles dans apiEndpoint( ):
func apiEndpoint() { if someCondition { apiResponse("error") } else { apiResponse("all good") } }
Cette approche garantit que l'exécution ne se déroule qu'au prochain appel à apiResponse() si la première condition n'est pas remplie.
Si apiResponse() renvoie une valeur qui peut indiquer un succès ou un échec, vous pouvez utiliser cette valeur dans apiEndpoint () comme suit :
func apiEndpoint() { if response := apiResponse("error"); response != "success" { return } apiResponse("all good") } func apiResponse(message string) string { return "success" // or "error" based on the condition }
En renvoyant la valeur de apiResponse() et en l'enregistrant apiEndpoint(), vous pouvez interrompre l'exécution si nécessaire.
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!