Angular2/Typescript - 获取服务器延迟

Fai*_*jaz 2 typescript server angular

我无法帮助自己搜索互联网的答案,所以我马上就会问.

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

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

rin*_*usu 9

你可以尝试这个PingService- 只需将网址设置为你的网址.

@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);
          });
      });
  }
}
Run Code Online (Sandbox Code Playgroud)

在组件的构造函数中使用它,如下所示:

this._pingService.pingStream.subscribe(ping => {
  this.ping = ping;
})
Run Code Online (Sandbox Code Playgroud)

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

{{ping | number:'1.0-0'}}ms
Run Code Online (Sandbox Code Playgroud)

工作Plunker例如用法