Comment gérer les fonctions de rappel asynchrone en JavaScript
Les rappels asynchrones, tels que celui utilisé dans la fonction geocoder.geocode, peuvent le rendre difficile d’en récupérer des valeurs. Ce problème est mis en évidence dans le titre "Comment renvoyer la valeur d'une fonction de rappel asynchrone ?"
Comprendre les rappels asynchrones
Les rappels asynchrones sont des fonctions qui sont exécutées après un certain temps temps indéterminé. Ils sont généralement utilisés lors de l'exécution d'opérations qui ne peuvent pas être effectuées immédiatement, telles que l'envoi de requêtes réseau. En raison de leur nature asynchrone, ils ne peuvent pas être utilisés pour renvoyer directement des valeurs.
Solution : Utiliser un rappel
Pour récupérer des valeurs à partir de rappels asynchrones, une approche alternative consiste à transmettre une fonction de rappel à la fonction asynchrone. Cette fonction de rappel sera exécutée une fois l'opération asynchrone terminée et recevra la valeur souhaitée en paramètre.
Exemple :
Dans le script fourni, le code suivant peut être utilisé pour récupérer la valeur souhaitée à partir du geocoder.geocode function :
function foo(address, callback) { geocoder.geocode({ 'address': address }, function (results, status) { callback(results[0].geometry.location); }); } foo("address", function (location) { alert(location); // This is where you receive the value });
Remarque :
Il est important de noter que cette solution ne fonctionne qu'avec des fonctions de rappel asynchrones. Pour les fonctions synchrones, les valeurs peuvent être renvoyées directement.
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!