执行该函数时停止该函数的所有实例 - NodeJS

问题描述

我有一个函数,我想在调用函数时停止该函数。 我该怎么做? 这是我的代码

function waitforsend(tdate,messagecontent) { //https://stackoverflow.com/questions/22125865/wait-until-flag-true
    cdate = Math.floor(new Date().getTime())/1000 - 18000
    if(cdate <= tdate) {
       setTimeout(function(){
           waitforsend(tdate,messagecontent)
       },1000);
    } else {
        client.channels.cache.get(eventchannelid.toString()).send(messagecontent)
        fs.renameSync('./events/' + tdate + '.json','./pastevents/' + tdate + '.json',function(err){
            if(err){
                console.log(colors.red('Issue removing file ' + tdate +',removing file'))
                fs.unlink(tdate + '.json',function(err){
                    if(err){console.log(colors.red('Issue with removing file,please mannualy remove.'))}
                })
            }
        })
        console.log('I got here')
        Scan()
    }
}

调用 waitforsend() 的另一个实例时,如何停止它的执行。 问题来自调用 Scan(),它会读取一个文件,然后调用 waitforsend()。 Scan() 在创建文件时也会被调用,这会导致 waitforsend() 尝试移动不存在的文件。我该如何解决这个问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...