Angular2 / Typescript - получить задержку сервера

typescript angular server

4109 просмотра

1 ответ

378 Репутация автора

Я не мог сдержать себя в поисках ответа, поэтому просто спрошу сразу.

Я использую внешний интерфейс с помощью angular2 и typcript, получая данные с сервера.

Есть ли способ настроить соединение, отправляющее пинги через определенные промежутки времени, чтобы получить время отклика сервера? Затем я хочу отобразить их на графике с помощью PrimeNG.

Автор: Faigjaz Источник Размещён: 19.07.2016 08:49

Ответы (1)


9 плюса

16823 Репутация автора

Решение

Вы можете попробовать это 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 | number:'1.0-0'}}ms

Рабочий Плункер на примере использования

Автор: rinukkusu Размещён: 19.07.2016 09:49
Вопросы из категории :
32x32