每 X 秒调用一个函数

San*_*oud 4 typescript angular

有没有办法在 Angular 2+ 中每 X 秒或几分钟触发一次函数?

例如,如果我想每 60 秒myService.refreshloginStatus()从 main 中启动一个函数app.component怎么办?

我发现这个问题在互联网上搜索,但我不知道它是否也适用于此以及如何在 Angular 中实现它......有人可以在 Angular 中为我提供这个的具体用法吗?

PS:如果您认为这个问题可能是链接问题的重复,请在评论中告诉我,我必须将其删除

小智 14

您可以使用setInterval()功能

setInterval(()=> { this.myFunc() }, timeIntevalSeconds * 1000);
Run Code Online (Sandbox Code Playgroud)


max*_*992 6

const reloadInterval = 60;

timer(0, reloadInterval).pipe(
  mergeMap(_ => this.myService.myHttpCall())
).subscribe()
Run Code Online (Sandbox Code Playgroud)

那就是回答你的问题。但老实说,我认为从组件中执行此操作不是一个好主意,您应该直接从您的服务中执行此操作。

此外,如果您正在寻找更高级的答案,您可以查看这里