javascript IE11 中的 setInterval() 语法错误

javascript setInterval() syntax error in IE11

我正在尝试使用 setInterval() 方法执行一些 javascript,下面是我的代码

if(have_access){
        let clock = setInterval(() => {   // getting error here
            clearInterval(clock);
            clock = null;
            document.getElementById('link_permissions').style.display = 'block';
        }, 200);

    }else{          
        let clock = setInterval(() => {
            clearInterval(clock);
            clock = null;
            document.getElementById('link_permissions').style.display = 'none';
        }, 200);
    }

此代码在 Chrome 和 Firefox 中运行良好,但在 IE11 中出现语法错误。要使它在 IE 中也能正常工作,需要采取什么措施。

提前致谢。

就像评论里提到的IE不支持箭头函数

只需将其更改为:

if (have_access) {
  let clock = setInterval(function() {
    clearInterval(clock);
    clock = null;
    document.getElementById('link_permissions').style.display = 'block';
  }, 200);

} else {
  let clock = setInterval(function() {
    clearInterval(clock);
    clock = null;
    document.getElementById('link_permissions').style.display = 'none';
  }, 200);
}