. Лучший способ определить, активен или нет пользователь на вкладке, - это определить состояние видимости.
API VisibilityChange:
Свойство Document.visibilityState для чтения возвращает видимость документа, то есть в каком контексте этот элемент теперь виден. Полезно знать, находится ли документ в фоновом режиме или невидимая вкладка или загружен только для предварительного рендеринга. подробнее: https://developer.mozilla.org/en-US/docs/Web/API/Document/visibilityState
Итак, во-первых, для каждого пользователя, вы можете обнаружить присутствие более эффективно:
document.addEventListener("visibilitychange", function() { console.log( document.visibilityState ); // send notification to firebase });
С этого шага единственная задержка, которую вы могли бы испытать, будет сильно коррелирована с firebase. Поэтому вам нужно настроить частоту синхронизации, или если вы действительно хотите быть быстрым, используйте соединение WebSocket, например.
Обычно мы используем pipe()
при использовании httpclient
.
this.http.get(url).pipe(map(a => b), catchError(error => this.handleError(error)));
Так же, как его комментарии httpClient.get()
:
blockquote>/** * Construct a GET request which interprets the body as JSON and returns it. * * @return an `Observable` of the body as type `T`. */
Так как он возвращает
Obervable
, то вы следуете по трубе к объединить функции в цепочку.Советы
- вы должны использовать
!==
и===
в JS, чтобы избежать странных результатов;- обычно мы не
subscribe
сразу после [ 119] и мы помещаем метод get в отдельный сервис ;