带有settimeout函数的javascript闭包
如何在一个闭包中用settimeout函数来表示这一点,以便在运行API之前或之后创建2秒的暂停。请注意,geocoder.geocode是异步的带有settimeout函数的javascript闭包,javascript,closures,settimeout,Javascript,Closures,Settimeout,如何在一个闭包中用settimeout函数来表示这一点,以便在运行API之前或之后创建2秒的暂停。请注意,geocoder.geocode是异步的 function srPerformGeocode(addressToArray, nextRecord){ var address = addressToArray.join(","); console.log(address);
function srPerformGeocode(addressToArray, nextRecord){
var address = addressToArray.join(",");
console.log(address);
if (geocoder){
glDelay = true;
geocoder.geocode({ 'address': address.trim() }, function
(results, status) {
// count number of geocodings attempted
glGeocodeCount ++;
if (status == google.maps.GeocoderStatus.OK){
}
else{
}
});
}
}
原因:当反复调用第三方API时,有礼貌地限制请求,有时是必要的。我尝试了这种方法的变体。重复调用时,它似乎只有在第一次调用函数时才起作用。daly的后续调用似乎被忽略。@MustaphaGeorge:您需要向我们显示不起作用的代码。我甚至现在打赌你已经掉进了
setTimeout(myFunction(),200)
陷阱(或类似陷阱)
setTimeout (function ()
{
geocoder.geocode( ... );
}, 2000);