JavaScript で非同期コールバック関数を処理する方法
geocoder.geocode 関数で使用されるような非同期コールバックを使用すると、それらから値を取得するのは困難です。この問題は、「非同期コールバック関数から値を返す方法?」というタイトルで強調表示されています
非同期コールバックについて
非同期コールバックは、いくつかの後に実行される関数です。不定の時間。これらは通常、ネットワーク要求の実行など、すぐに完了できない操作を実行するときに使用されます。非同期の性質のため、値を直接返すために使用することはできません。
解決策: コールバックの使用
非同期コールバックから値を取得するには、別のアプローチがあります。コールバック関数を非同期関数に渡します。このコールバック関数は、非同期操作が完了すると実行され、パラメーターとして目的の値を受け取ります。
例:
提供されたスクリプトでは、次のコードが使用されます。 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 });
注:
このソリューションは非同期コールバック関数でのみ機能することに注意することが重要です。同期関数の場合、値を直接返すことができます。
以上がJavaScript で非同期コールバック関数から値を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。