【发布时间】:2020-11-02 05:00:23
【问题描述】:
我有一个在 ngOnInit 上运行良好的服务,但是当我设置一个计时器并稍后调用它时,由于某种原因它变得未定义。
编辑:这是我的构造函数:
constructor(private service: SomeService) { }
我尝试创建一个属性私有服务,并在构造函数中这样设置:
this.service = service
但这仍然没有解决问题。我想通过这样做,我会保留对 SomeService 静态实例的引用。
我这样调用它:
setTimeout(this.getData, 5000)
getData(): void {
// Some HTTP call
}
【问题讨论】:
-
需要的是“设置计时器并稍后调用它”的代码片段。
-
已添加。如果编辑不够,请告诉我。
-
@Latcie as mbojko 说您在回调函数中没有正确的上下文。我相信
setTimeout(this.getData.bind(this), 5000)或setTimeout(() => this.getData(), 5000)应该可以解决您的问题。 -
大功告成。谢谢你们的帮助。