Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 每X秒调用一个函数_Angular_Typescript - Fatal编程技术网

Angular 每X秒调用一个函数

Angular 每X秒调用一个函数,angular,typescript,Angular,Typescript,有没有办法在Angular 2+中每隔X秒或分钟启动一个函数 例如,如果我想每隔60秒从我的主app.component启动myService.refreshloginStatus()函数,该怎么办 我在互联网上找到了搜索,但我不知道它是否也适用于此,以及如何在Angular中实现此功能……有人能为我提供Angular中此功能的具体用法吗 PS:如果你认为这个问题可能是链接问题的重复,请在评论中告诉我,我必须删除它 const reloadInterval = 60; timer(0, rel

有没有办法在Angular 2+中每隔X秒或分钟启动一个函数

例如,如果我想每隔60秒从我的主
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);}
在我的服务中!您的答案也很好,但我更喜欢使用更简单的代码!