首页 > 解决方案 > 显示应自动更新的分数的 Angular 组件

问题描述

我对角度很陌生。我正在尝试构建一个小应用程序,它在一个页面上显示 3 个团队的分数。

所以我有一个 API,它根据我们传递的 ID 返回一个团队的分数

但我的困惑是如何以最好的方式实现它?

我是否需要创建一个在间隔内调用 API 的函数

然后我想如果我添加一个 5 秒的间隔,如果在那 5 秒内有多个分数变化,我们会错过一个,不是吗?

此外,当由于流量过大或服务器受到冲击时,如果一个请求花费的时间超过 5 秒,则下一个间隔会触发,这可能最终会在前一个完成之前调用相同的。

那么我怎样才能使它成为最好的方法。我在 Angular 10 中工作

标签: angular

解决方案


首先,轮询是一种古老的方式。轮询意味着只是在间隔中调用 API,这是一种古老的方式。您需要将该功能构建为套接字并从您身边订阅该分数变化。这就是方法。

如果您真的无法更改套接字中的 API,您可以使用任何类型的 javascript 方式,纯 javascript 或 rxjs 或其他方式来做到这一点。

import { interval } from 'rxjs';

interval(milisec).subscribe(() => this.service.callTheAPI());

推荐阅读