J'ai une simple fonction1 qui fait une requête http à une API google et renvoie le résultat $. J'ai alors une autre fonction2 qui, si $ result isset, devrait utiliser $ result pour faire de l'informatique et retourner $ finalresult. .Comment attendre le retour d'une variable avant le démarrage de la fonction suivante
Mon problème est que l'appel à google api prend quelques secondes et au moment où $ result est renvoyé par function1, function2 a déjà renvoyé $ finalresult sans tenir compte de $ result. Ce que je cherche à faire est d'avoir function1 pour fonctionner complètement et renvoyer $ result avant que function2 ne commence même.
Préférablement Je recherche une solution qui n'utilise pas simplement "sleep()" car cette fonction ne garantit pas que $ result est effectivement retourné. (À moins d'une façon de boucler un sommeil (1) jusqu'à ce que isset de retour de $, ou quelque chose comme ça)
Exemple de code pour les gals visuels et les gars
function1_geocode($address); // this function makes a http request to google and returns $result
function2_proximitysearch(){
if (isset($result)){
//inevitably by the time the script gets there, $result hasn't been returned yet therefore none of the "some stuff" code is executed.
//some stuff
}
else {
//some other stuff
}
}
parfois c'est une bénédiction, parfois c'est une malédiction ... – pxl
C'est une bénédiction. Croyez-moi, vous ne voudriez pas être obligé de faire de la programmation simultanée tout le temps. – Mchl