я получаю разницу во времени, когда в браузере открыты несколько вкладок (Angular 2) (весенняя загрузка) - PullRequest
0 голосов
/ 27 августа 2018

enter image description here Я получаю серверное время из серверной части (в Java) после успешного входа в систему и в интервале добавляется 1 сек

      Observable.interval(1000).map(() => {
        return this.time.add(1, 'seconds');
      }).subscribe(currentServerTime => {
        this.currentServerTime = currentServerTime ;
        this.timerService.next(this.currentServerTime );
      }, error => {
        this._errorService.handleError(error);
      });

и после каждого 1Мин снова вызывается вызов сервера для получения текущего времени сервера.

показывает правильное время сервера, но когда я открываю несколько вкладок одной и той же веб-страницы, тогда наблюдается разница во времени.Есть ли способ синхронизировать все открытые вкладки ..

1 Ответ

0 голосов
/ 27 августа 2018

У меня была та же проблема, я переключился на this.interval = setInterval(() => { //do stuff }, 1000); Используйте clearInterval(this.interval), чтобы удалить его.

Наблюдаемые значения асинхронны, когда вкладка неактивна, вы заметите, что это может занять вдвое больше времени.

...