从springboot后端到angular4前端每30秒更新图表值

时间:2018-07-20 13:37:26

标签: ajax angular spring-boot charts updates

我正在一个项目中,我有一个仪表板,其中包含许多图表和变量,需要每30秒更新一次。我将使用Springboot创建一个将返回JSON值的API,并且将使用Angular4来获取值并渲染我的图。因为我既不是Angular也不是Springboot的专家,所以我需要您提供有关如何解决此问题的建议,以及动态更新图表的最简单方法是什么。我需要使用AJAX吗? 还有其他简便的方法吗? 谢谢大家的期待。

1 个答案:

答案 0 :(得分:0)

对于对Springboot API的请求,应使用HttpClientModule。计时器功能非常简单:

export class DataService {

constructor(private http: HttpClient){}

  getData() {
    interval(30*1000)//just instead of writing 30000
           .pipe(switchMap(() => this.http.get('your url')))
           .subscribe(data => do things with data);
  }
}

这是一种解决方法,例如,您也可以使用timer。将interval替换为timer(0, 30*1000),其中0直到第一次尝试为止要等待多少时间,第二个值是重复一次的频率。在这里您可以了解有关switchMapinterval的信息。

请记住,我是使用RxJS 5+和管道编写的,而Angular 5+是使用HttpClient编写的,这种方式在旧版本中可能会有所不同,我强烈建议使用最新版本。