微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Javascript-如果满足条件,则在特定时间内返回True,然后返回false

如何解决Javascript-如果满足条件,则在特定时间内返回True,然后返回false

我正在尝试编写一个函数,该函数如果满足某些条件,则会在一段时间内返回“ true”,然后再次返回false,即使条件仍然为true。

代码的想法是这样的:

if(condition is met)
    {return 'True' for 3000ms then 'false'} //even if the condition it's still 'true'
        else {False}

我可以轻松地对条件的结果进行编程(如果满足则返回true或false),但是尝试(如果为true)将其返回特定时间段会遇到很多麻烦。

注意:在这种情况下,带有setTimeout()的函数不是选项。

谢谢!

解决方法

您可以在这种情况下使用闭包

function falseReturnAfter(time) {
    let val = true;
    setTimeout(() => {
        val = false;
    },time);
    return function(con) {
        if(con && val) {
            return true;
        }
        return false;
    }
}
let f = falseReturnAfter(10000) // return false after 10 sec.
f(true) // true
f(false) // false
// after 10 sec
f(true) // false
f(false) // false

也许这会对您有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。