Облачная функция Firebase не создает значения базы данных - PullRequest
0 голосов
/ 03 мая 2020

Я хочу создать значения по умолчанию в базе данных реального времени firebase, когда кто-то входит в мое приложение. И я развернул этот код через код vb в облачной функции, чтобы сделать эту работу.

const functions = require('firebase-functions');
const admin = require('firebase-admin');

admin.initializeApp(functions.config().firebase);

exports.defaultaccountparams = functions.auth.user().onCreate(user => {
    const userObject = {
        name : user.displayName,
        email : user.email,
        profile_picture : user.photoURL,
        createdOn : user.metadata.creationTime || null,
        matches_played : 0,
        BC_won : 0,
        total_kills : 0,
        matches_won : 0,
        BC: 0,
        joined_matches : 0,
        };

    admin.database().ref('users/' + user.uid).set(userObject);
  });

Но эта функция не создает значения, и в журнале функций нет никаких ошибок в этой функции. Пожалуйста, помогите мне решить.

1 Ответ

0 голосов
/ 03 мая 2020

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

return admin.database().ref('users/' + user.uid).set(userObject);
...