Firebase правильный способ вызвать что-то динамически - PullRequest
0 голосов
/ 05 ноября 2018

Позвольте мне сначала описать вам, что я пытаюсь сделать с одним примером:

- Players join a game (it's a web turn-based app/game with firebase/angular)
- When they are ready they have 30 seconds to choose a character
- Then player 1 has 30 sec to end his turn
- Then player 2 has 30 sec to end his turn
- ...

Это небольшая пошаговая игра, и мне сложно закончить ход. Я думал об использовании cron или setInterval в облачной функции, но setInterval не рекомендуется (дорого), и cron не совсем то, что я ищу (я не хочу вызывать что-то каждый день ...). Я видел эту информацию по двум похожим темам:

setInterval на базе Firebase вместо использования cron && Облачные функции для запуска по Firebase вовремя?

Каким должен быть правильный способ сделать это (завершить ход, основанный на времени, чтобы увеличить «состояние» игры)?

1 Ответ

0 голосов
/ 05 ноября 2018

Вы можете использовать setInterval в js на стороне клиента. Запуск setInterval в браузере - это правильный способ выполнить какое-либо действие после предварительно определенного интервала времени в javascript. setInterval не работает с облачными функциями, но они вам там не нужны.

Код Psuedo выглядит так:

  1. Запустить ход игрока, сохранив текущее время
  2. setInterval, чтобы начать время + интервал
  3. 30 секунд спустя ваш обратный вызов setInterval выполняется, где вы можете обновить состояние игры
  4. Прополоскать и повторить
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...