Выполнение функции задержки Firebase - PullRequest
0 голосов
/ 04 июля 2018

У меня есть функция firebase, которая выглядит следующим образом:

exports.myFunction = functions.database.ref('/users/{id}/').onWrite((snapshot, context) => {

//do some processing here

//wait for 5 seconds

snapshot.after.ref.parent.once('value').then((newSnapshot) => {
    //do some processing here
    //check for some CONDITION
});

//do some processing here

return snapshot.after.ref.set(true); //return this if the CONDITION has been satisfied
return null;    //return this if the CONDITION check fails
});

Я не могу найти подходящую реализацию для этой логики. У меня две проблемы.

Во-первых, я не уверен, как отложить выполнение, подождав 5 секунд. Я попытался реализовать метод setTimeout, но где-то я ошибаюсь.

Во-вторых, я не знаю, как программировать так, чтобы соответствующее возвращаемое значение передавалось в зависимости от проверки СОСТОЯНИЯ во внутренней функции.

Я впервые работаю над FireBase, и я относительно новичок в JS, поэтому любая помощь будет принята.

EDIT:

Вот пример того, что я делаю.

  1. Допустим, есть два логических типа интернета и location_monitor. И то и другое изначально верно, что было установлено клиентом. Местоположение обрабатывается для получения некоторой информации. Клиент может установить оба значения в любое время.

  2. Клиент теряет подключение к интернету. Переменная internet изменена на false. Клиент получает уведомление через локальную службу мониторинга о том, что интернет-соединение потеряно.

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

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