Неразрешенная функция при использовании метода map ()

. Лучший способ определить, активен или нет пользователь на вкладке, - это определить состояние видимости.

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, например.

0
задан Hearen 19 January 2019 в 06:19
поделиться

1 ответ

Обычно мы используем pipe() при использовании httpclient.

this.http.get(url).pipe(map(a => b), catchError(error => this.handleError(error)));

Так же, как его комментарии httpClient.get():

/**
 * 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 в отдельный сервис ;
0
ответ дан Hearen 19 January 2019 в 06:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: