【发布时间】:2020-08-07 15:14:07
【问题描述】:
如果我直接为setTimeout(() =>{}, 300000) 使用数字,则 setTimeout 将在 5 分钟后触发。但是,如果我使用全局变量,它会立即触发:
export class MyComponent implements OnInit {
timeoutCounter = 300000;
constructor(){}
ngOnInit() { this.fireMe(); }
fireMe() {
setTimeout(() =>{}, this.timeoutCounter);
}
}
理论上它应该以相同的方式触发,但 setTimeout 触发就像我根本没有提供任何值一样。
【问题讨论】:
-
可能是因为它是未定义的,因此“立即执行”你可以尝试在构造函数中为你的变量赋值吗?
-
@EugenSunic 这就是我的假设,但是......为什么?我需要一个全局变量来设置其他一些超时。必须为每个设置值会使代码维护变得很痛苦。
-
无法重现。上面的代码按我的预期工作。
-
那么你想达到什么目的呢?
标签: javascript angular settimeout