Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法检查函数是否已执行?javascript_Javascript - Fatal编程技术网

有没有办法检查函数是否已执行?javascript

有没有办法检查函数是否已执行?javascript,javascript,Javascript,我正在制作一个脚本,从网页中获取一个按钮,然后使用webhook通过discord发送它。我的问题是脚本是一个循环,它一直在检查按钮是否退出。因此,当按钮退出时,它会向discord webhook发出大量垃圾邮件。有什么方法可以阻止垃圾邮件吗 myFunction() 函数myFunction(){ var button=document.getElementsByClassName(“按钮”); var最小值=30, 最大值=50; var rand=Math.floor(Math.rand

我正在制作一个脚本,从网页中获取一个按钮,然后使用webhook通过discord发送它。我的问题是脚本是一个循环,它一直在检查按钮是否退出。因此,当按钮退出时,它会向discord webhook发出大量垃圾邮件。有什么方法可以阻止垃圾邮件吗

myFunction()
函数myFunction(){
var button=document.getElementsByClassName(“按钮”);
var最小值=30,
最大值=50;
var rand=Math.floor(Math.random()*(max-min+1)+min)
如果(按钮[0]){
日志(“%c按钮!”,“颜色:绿色;”)
//下面将使用webhook发送不一致消息
}
log('Waiting'+rand+'secs');
设置超时(myFunction,兰德*1000);
}

使用间隔,并在按钮存在时将其清除

函数myFunction(){
var按钮=document.querySelector(“按钮”);
如果(按钮){
清除超时(tId)
日志(“%c按钮!”,“颜色:绿色;”)
//下面将使用webhook发送不一致消息
}
}
const tId=setInterval(myFunction,1000)

您可以使用
其他
条件:

函数myFunction()
{
var button=document.getElementsByClassName(“按钮”);
如果(按钮[0])
{
日志(“%c按钮!”,“颜色:绿色;”)
//下面将使用webhook发送不一致消息
}否则{
最小值为30,最大值为50;
var rand=Math.floor(Math.random()*(max-min+1)+min);
log('Waiting'+rand+'secs');
设置超时(myFunction,兰德*1000);
}
}
myFunction();
或者,如果需要函数调用之间的非随机时间,可以使用
setInterval

var intervalId=window.setInterval(
函数()
{
var button=document.getElementsByClassName(“按钮”);
如果(按钮[0])
{
日志(“%c按钮!”,“颜色:绿色;”)
窗口。clearInterval(intervalId);
//下面将使用webhook发送不一致消息
}
},
1000
);

将最后两行移到
else
块中?@johnnymapp说了什么,或者您可以使用setInterval代替使用set timeout递归调用函数,并在条件满足后清除返回的间隔satisfied@JohnnyMopp答案是肯定的。但是为什么会出现随机超时?也许你应该解释一下你希望发生什么?当用户单击按钮时,是否希望脚本将某些内容发送到Discord?是否希望脚本在计时器上发送消息?你的代码并不能真正解释你想做什么。