typescript - Angular2/Typescript - 获取服务器延迟

标签 typescript angular server

我无法帮助自己在互联网上搜索答案,所以我会直接问。

我正在使用 angular2 和 typescript 运行前端,从服务器接收数据。

有没有办法设置一个连接,以特定的时间间隔发送 ping 以获取服务器响应时间? 然后我想使用 PrimeNG 在图表中显示它们。

最佳答案

您可以试试这个 PingService - 只需将 url 设置为您的 url。

@Injectable()
export class PingService {
  pingStream: Subject<number> = new Subject<number>();
  ping: number = 0;
  url: string = "https://cors-test.appspot.com/test";

  constructor(private _http: Http) {
    Observable.interval(5000)
      .subscribe((data) => {
        let timeStart: number = performance.now();

        this._http.get(this.url)
          .subscribe((data) => {
            let timeEnd: number = performance.now();

            let ping: number = timeEnd - timeStart;
            this.ping = ping;
            this.pingStream.next(ping);
          });
      });
  }
}

像这样在组件的构造函数中使用它:

this._pingService.pingStream.subscribe(ping => {
  this.ping = ping;
})

在您的模板中,只需将此添加到您想要显示当前 ping 的位置:

{{ping | number:'1.0-0'}}ms

Working Plunker for example usage

关于typescript - Angular2/Typescript - 获取服务器延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38453655/

相关文章:

typescript - 模块扩充中不允许导出和导出分配

jquery - JsPlumb 与 Angular2

angular - 我需要像 withLatestFrom 这样的运算符,除非它在两个 Observables 发出值后立即触发

php - 当用户单击输入按钮时,使用自定义 Javascript 和 pHp 向自己发送电子邮件,但仅适用于 Chrome、IE 和 Microsoft Edge

javascript - 等待异步函数在 map 内部完成

html - 从迭代循环中隐藏特定内容并在隐藏面板中显示

html - Angular 2 日期输入未绑定(bind)到日期值

javascript - 将 Angular 2.0 集成到 Angular 1.x 中 - 升级模块

php - 使用 PHP 检查服务器上是否安装了 MySQL

javascript - 使用IP地址在本地机器上查询Sesame