Я пытаюсь использовать облачные функции Firebase из моего приложения, чтобы публиковать электронные письма и имена пользователей в облачную коллекцию firestore со случайно сгенерированными идентификаторами. Все работает хорошо, но я хочу получить ответ от функции на мое приложение, и мне не удается это сделать. Вот мой код из моего приложения, где я вызываю облачную функцию:
onPress ({commit, dispatch}, payload) {
var addUserInformation = firebase.functions().httpsCallable('addUserInformation');
addUserInformation(payload)
.then(function(result) {
console.log(result)
}).catch(function(error) {
var code = error.code;
var message = error.message;
var details = error.details;
console.log(code);
console.log(message);
console.log(details);
});
},
А вот код облачной функции:
const functions = require('firebase-functions')
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
// // Create and Deploy Your First Cloud Functions
// // https://firebase.google.com/docs/functions/write-firebase-functions
//
exports.addUserInformation = functions.https.onCall((data) => {
admin.firestore().collection('Backend').where('email', '==', data[1]).get()
.then(function(querySnapshot) {
if (querySnapshot.size > 0) {
console.log('Email already exists')
} else {
admin.firestore().collection('Backend').add({
name: data[0],
email: data[1]
})
console.log('New document has been written')
}
return {result: 'Something here'};
})
.catch(function(error) {
console.error("Error adding document: ", error);
})
});
Консоль показывает, что результат равен нулю