有没有办法使用此方法获取间隔?

Is there a way to get the interval using the this method?

所以,想象下面的代码:

setInterval(() => {
    var thisInterval = this;
    fn1();
    fn2();
    if(someMouseDownEventDeclaredSomewhereElse){
        clearInterval(thisInterval);
    }
},100);

this 是获取当前时间间隔的正确方法吗?假设我想在不为此循环设置变量的情况下这样做,因为我希望它是一个未命名且未存储的间隔。简而言之:有没有办法从内部获取未命名的间隔,比如 this 之类的?

你可以这样做;

function f() {
    fn1();
    fn2();
    if(!someMouseDownEventDeclaredSomewhereElse){
        setTimeout(f, 100);
    }
}
setTimeout(f, 100);