Setinterval - 2 秒后单击一次然后再单击一次。 运行一次。没有循环

Setinterval - One click then another Click after 2 seconds. Run Once. NO LOOP

我看了很多关于 setInterval 的帖子,其中 none 有我正在寻找的答案或我正在努力实现我想要的。

我正在寻找一个点击 2 次的 setInterval 函数。第一次点击与第二次点击相隔 2 秒。它只运行一次我目前拥有的是使用两个函数的解决方法,它有效..但我宁愿将它们放在一个函数中而不是两个函数中。

第一次点击是在一秒内立即运行 (1000),它关闭打开的模式。然后下一次点击是在 2 秒 (2000) 之后,它会删除一个克隆。以下是我目前在 $each 中使用的内容。感谢您的帮助。

$.each(deleteCard, function( i, person ) {
    setTimeout(function() {  
        $("#"+person.id).find('.close-modal').click(); 
    }, 1000);

    setTimeout(function() { 
        $("#"+person.id).find('.card').remove(); 
    }, 2000);  
}); 

我认为 setInterval 不会有帮助。只重复两次是一个糟糕的选择(你的原始代码也有不规则的延迟,setInterval 做的不好)。

我会使用 promises 并编写一个等待函数作为通用实用程序,您可以将其隐藏在某个帮助程序文件中:

const wait = ms => new Promise(resolve => setTimeout(resolve, ms));

$.each(deleteCard, async function (i, person) {
  await wait(1000);
  $("#" + person.id).find('.close-modal').click();
  await wait(1000);
  $("#" + person.id).find('.card').remove();
});