Как добавить и удалить триггер Firebase db как часть другого триггера db - PullRequest
0 голосов
/ 08 мая 2020

У меня есть небольшое приложение firebase, в которое я хотел бы добавить прослушиватель изменений (Db Trigger), когда происходит другое изменение (например, конкретное свойство изменило его значение на 'listen'), а затем удалить его, когда этот 'триггер' значение 'снова изменяется. Возможно ли это?

exports.liveLessonPracticeMonitor = functions.database.ref('/some/property/path')
    .onWrite((change, context) => {
        if (!change.before.exists() && change.after.val() === 'listen') {

            // Can I do it here ?

            // start another listener. 
            functions.database.ref('/some/other/property/path')
                .onWrite((otherChange, otherContext) => {
                    // my code
                }
        } else if (change.before.val() === 'listen' && change.after.val() === 'stop') {
            // stop listening what I've subscribed to two lines above

            // How to do that?
        }

        return null
    })

Ответы [ 2 ]

1 голос
/ 08 мая 2020

Я не думаю, что это возможно, но если вы пытаетесь сделать что-то на основе полученных вами вводимых данных, вы всегда можете добавить для этого инструкцию if-else. И если вы просто не хотите ничего делать, вы можете добавить console.log('Invalid Input') в последней части else. Таким образом, фактический триггер просто регистрирует оператор, а не делает что-либо еще ...

1 голос
/ 08 мая 2020

Нет, это невозможно. Триггеры нельзя добавлять или удалять программно. Они должны быть экспортированы из index. js и развернуты с помощью Firebase CLI.

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