当有人登录到我的应用程序时,我想在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);
});
但这个函数并没有创建值,在函数日志中也没有关于这个函数的任何错误。请帮我解决它。
使用Cloud Functions auth触发器,您需要返回一个promise,该promise只有在所有异步工作完成后才能解析。这不是可选的,也是您告诉云功能何时可以安全地清理和终止功能的唯一方法。set((返回一个promise,因此您可以直接返回:
return admin.database().ref('users/' + user.uid).set(userObject);