在Javascript循环中添加2个延迟

在Javascript循环中添加2个延迟,javascript,Javascript,我正在构建一个javascript函数,每次显示10次弹出窗口,持续5秒 在我的代码中,我有如下内容: for (i=0; step < 10; i++) { showPopup(); //need to add 5 second delay here hidePopup(); //need to add a 5 second delay again } 我已尝试设置超时功能,但无法同步延迟 如果有人能帮我完成这项工作,我将不胜感激 您可以利用循环中的wait来等待承诺

我正在构建一个javascript函数,每次显示10次弹出窗口,持续5秒

在我的代码中,我有如下内容:

for (i=0; step < 10; i++) 
{
  showPopup();
  //need to add 5 second delay here
  hidePopup();
  //need to add a 5 second delay again
}
我已尝试设置超时功能,但无法同步延迟

如果有人能帮我完成这项工作,我将不胜感激

您可以利用循环中的wait来等待承诺,该承诺在5秒后得到解决,从而产生延迟

const delay=ms=>new Promiseresolve=>setTimeoutresolve,ms; 异步函数主{ 对于设i=0;i<10;i++{ 显示弹出窗口; 等待5000; 隐藏小狗; 等待5000; } }
使用SetInterval而不是loop,然后使用clearInterval停止SetInterval。您可以使用setTimeout并使用迭代的索引来同步延迟,以下是一个示例:

对于i=0;i<10;i++{ setTimeoutshowPopup,i*2*500; setTimeouthidePopup,i*2+1*500; } 功能显示弹出窗口{ 安慰log@popup显示 } 功能隐藏{ 安慰log@popup隐藏
} 您可以使用setInterval每5秒重复一次循环,并使用settimeout显示数据的时间

var区间=; var计数=1//点检10次 功能表演{ 如果算上{ 计数++; el.style.display='block' 间隙 setTimeouthide,5000 }, 5000; } } var el=document.querySelector'p'; 函数隐藏{ el.style.display='none'; 显示 } 显示 p{ 显示:无 } 你好