有没有办法在Angular 2 +中每隔X秒或几分钟触发一次功能?
例如,如果我想每隔60秒从我的主myService.refreshloginStatus()
获取app.component
函数怎么办?
我发现this question正在互联网上搜索,但我不知道它是否也适用于此以及如何在Angular中实现...有人能在Angular中为我提供具体用法吗?
PS:如果您认为此问题可能与链接的问题重复,请在评论中告诉我,我必须将其删除
答案 0 :(得分:3)
您可以使用setInterval()
功能
setInterval(()=> { this.myFunc() }, timeIntevalSeconds * 1000);
答案 1 :(得分:2)
const reloadInterval = 60;
timer(0, reloadInterval).pipe(
mergeMap(_ => this.myService.myHttpCall())
).subscribe()
那就是回答你的问题。但我真的不认为从组件中做到这一点是个好主意,你应该直接从你的服务中做到这一点。
此外,如果您正在寻找更高级的答案,可以查看here。
答案 2 :(得分:0)
var intervalPromise;
$scope.startTimer = function(fn, delay) {
intervalPromise = $interval(function() {
fn();
}, delay);
};
$scope.startTimer(hello, 2000);
hello(){
console.log("hello");
}