Совместное использование переменной двумя различными службами после нажатия кнопки - PullRequest
0 голосов
/ 27 марта 2019

Я пытаюсь связать базу данных Firebase в реальном времени через внешний интерфейс проекта angular6. Я также использую пакет с именем agora, который позволяет пользователям подключаться к «видеочату» с уникальным идентификатором пользователя + идентификатор комнаты.

Видеочат один на один, и поэтому я структурирую базу данных для добавления каждого пользователя в матч (содержит раунд # и настройки матча)

Когда создается новое лобби (любой может щелкнуть по кнопке), он добавляет первого игрока в матч и добавляет детали для базы огня с помощью этого метода.

  newGame(time, increment): void {
console.log("new game");
const uid = this.auth.getUserId()
let id = "";
let require: any;
console.log(this.numOfPlayers);

//finds the current user that will host the game. if theres no value, then create a unique id for the game
this.db.database.ref(`users/${uid}/game`).once('value').then(s => {
  if (!s.exists()) {
    id = uuid();
});

}

Но я также хочу отправить этот идентификатор методу

this.agoraService.client.join(null, 'id', null, (userId);

, который хранится в video-stream.component.ts

(Второй игрок, который присоединяется, должен нажать только кнопку, и поэтому компонент знает, на какое совпадение ссылаются) В настоящее время я не знаю, как перенести через gameID, потому что он не сохраняется нигде, кроме Firebase.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...