У меня в программе много функций с Firebase Cloud Functions. Но я не уверен, как рассчитываются вызовы. Я прошу об этом, чтобы я мог максимально минимизировать свои вызовы.
Чтобы начать, у меня есть функция:
export const fucntionOne = functions.auth.user().onCreate((user) => {
console.log('1 invocation used!!')
})
Когда новый пользователь присоединяется, эта функция будет выполнено и, конечно, это потребует мой 1 вызов.
Поэтому, прежде чем задавать вопрос здесь, я провел пару экспериментов и выяснил, что если я использую другую функцию functionTwo
и вызываю ее в первой, например, так:
export const fucntionOne = functions.auth.user().onCreate((user) => {
console.log('1 invocation used!!')
functionTwo()
})
function functionTwo(){
console.log('Second function worked. . .')
}
На этот раз я ожидал, что счетчик вызовов моей функции будет равен 2. Но он увеличился только на 1. Это нормально.
Но, скажем, я использую функцию с некоторым отношением с firebase-realtime-database
, скажем, для сохранения или получения данные, использующие либо .onCreate() or .onDelete()
и т. д., и вызов функции как:
export const fucntionOne = functions.auth.user().onCreate((user) => {
console.log('1 invocation used!!')
})
export const functionOnCreate = functions.database
.ref('/path')
.onCreate((snapshot, context) => {
//Do any thing in the function
console.log(`functionOnCreate executed.`)
return <something>
})
Теперь давайте проясним, functionOnCreate()
выполняется, когда некоторые узлы создаются с использованием functionOne()
в базе данных с использованием .onCreate()
Метод.
НО, на этот раз это стоило мне 2 Вызовов. Хорошо, я понимаю, что это потому, что functionOnCreate()
вызывается [или вызывается ] firebase функции, так что это может быть причиной этого.
Но если мне удастся выполнить задачи в базе данных, вручную вызвав функции, как functionTwo()
сделал. Тогда это спасет меня от некоторых дополнительных вызовов функций?