Angular 每X秒调用一个函数
有没有办法在Angular 2+中每隔X秒或分钟启动一个函数 例如,如果我想每隔60秒从我的主Angular 每X秒调用一个函数,angular,typescript,Angular,Typescript,有没有办法在Angular 2+中每隔X秒或分钟启动一个函数 例如,如果我想每隔60秒从我的主app.component启动myService.refreshloginStatus()函数,该怎么办 我在互联网上找到了搜索,但我不知道它是否也适用于此,以及如何在Angular中实现此功能……有人能为我提供Angular中此功能的具体用法吗 PS:如果你认为这个问题可能是链接问题的重复,请在评论中告诉我,我必须删除它 const reloadInterval = 60; timer(0, rel
app.component
启动myService.refreshloginStatus()
函数,该怎么办
我在互联网上找到了搜索,但我不知道它是否也适用于此,以及如何在Angular中实现此功能……有人能为我提供Angular中此功能的具体用法吗
PS:如果你认为这个问题可能是链接问题的重复,请在评论中告诉我,我必须删除它
const reloadInterval = 60;
timer(0, reloadInterval).pipe(
mergeMap(_ => this.myService.myHttpCall())
).subscribe()
那就是回答你的问题。但是老实说,我不认为从一个组件中这样做是一个好主意,你应该直接从你的服务中这样做
此外,如果您正在寻找更高级的答案,您可以查看。您可以使用
setInterval()
函数
setInterval(()=> { this.myFunc() }, timeIntevalSeconds * 1000);
var区间承诺;
$scope.startTimer=功能(fn,延迟){
intervalPromise=$interval(函数(){
fn();
},延误);
};
$scope.startTimer(你好,2000年);
你好(){
console.log(“你好”);
}
该副本在Angular中可以正常工作。您可以使用Observable中的计时器在特定时间间隔后调用服务。基本上构造函数(){setInterval(()=>{this.myFunc()},60000);}
Angular使用Typescript,它只是javascript的超集。你在angular文件中编写简单的JS,它会很好地工作。谢谢!我已经接受了你最完整的回答,其中大部分是因为你建议在服务内部这样做!很好用!顺便说一句,我将你的答案与上面的@luk alex one和@Ivaro18注释融合在一起,所以我得到的(工作)结果是:constructor(){setInterval(()=>{this.myFunc()},60000);}
在我的服务中!您的答案也很好,但我更喜欢使用更简单的代码!