如何在JavaScript 中處理非同步回調函數
非同步回調,例如geocoder.geocode 函數中使用的回調,可以實現這一點從它們中檢索值具有挑戰性。這個問題在標題「如何從非同步回呼函數傳回值?」中突出顯示
了解非同步回調
非同步回呼是在某些操作之後執行的函數不確定的時間。它們通常在執行無法立即完成的操作時使用,例如發出網路請求。由於它們的非同步性質,它們不能用於直接傳回值。
解決方案:使用回呼
要從非同步回調中檢索值,另一種方法是將回呼函數傳遞給非同步函數。此回調函數將在非同步操作完成後執行,並接收所需的值作為參數。
範例:
在提供的腳本中,以下程式碼可用於從 geocoder.geocode檢索所需的值函數:
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中文網其他相關文章!