我的setTimeout和setInterval函数有些问题。我需要做的是在应用程序启动后2秒显示广告,然后每2分钟显示一次。 很好,直到现在我设法做了问题的前半部分(在2秒后显示)但我无法弄清楚如何延迟超时2分钟并在循环中执行它(可能使用setInterval)。 我尝试在此超时中添加另一个超时,但它会延迟第一次执行。
我会提供一些帮助。 这是我的代码,直到现在:
setTimeout(function() {
// this will create a banner on startup
AdMob.createBanner( {
adId: admobid.banner,
position: AdMob.AD_POSITION.BOTTOM_CENTER,
overlap: false,
offsetTopBar: false,
bgColor: 'black'
} );
// this will load a full screen ad on startup
AdMob.prepareInterstitial({
adId: admobid.interstitial,
autoShow: true
});
}, 2000);
答案 0 :(得分:4)
如果您尝试在2秒后调用相同的代码,然后每2分钟调用一次,则可以这样做:
function someAdCode() {
// put the code here that you want to repeat
}
// start it in 2 seconds
setTimeout(function() {
someAdCode();
// schedule it to repeat every 2 minutes
setInterval(someAdCode, 2 * 60 * 1000);
}, 2000);
这使用setTimeout()
进行一次性2秒延迟。然后,在该回调中,您开始setInterval()
每2分钟重复一次。