Облачная функция Firebase возвращает ноль клиенту, даже если она прошла успешно - PullRequest
2 голосов
/ 22 июня 2019

Я пытался написать свою первую облачную функцию, которую вы можете увидеть ниже. В журнале облачных функций выводится, что он достигает первого console.log(Successful: userRecord.uid), но, похоже, после него ничего не происходит.

Может ли кто-нибудь указать мне правильное направление относительно того, что не так?

Большое спасибо.

const admin = require('firebase-admin');
const express = require('express');
const cors = require('cors');

const app = express();
admin.initializeApp();
app.use(cors({origin: true}));
const db = admin.firestore();

exports.addUser = functions.https.onCall((data, res) =>
{
    console.time();
    admin.auth().createUser({
        email: data.email,
        emailVerified: true,
        password: data.password,
        disabled: false
    })
        .then(userRecord => {
            console.log('Successful: ', userRecord.uid);
            const message = {
                firstname: data.firstname,
                lastname: data.lastname
            }
            return db.collection('Users').add(message)
                .then(() => {
                    return "Success";
                })
        })
        .catch(function(error) {
            console.log('Error creating new user:', error);
            console.trace();
            console.timeEnd();
            return "Error";
        });
});

1 Ответ

0 голосов
/ 22 июня 2019

для всех, кому интересно, я смог решить свою проблему:

Мне нужно было вернуть каждую функцию, поэтому код стал таким:

Обратите внимание на return на admin.auth().createUser

const express = require('express');
const cors = require('cors');

const app = express();
admin.initializeApp();
app.use(cors({origin: true}));
const db = admin.firestore();

exports.addUser = functions.https.onCall((data, res) =>
{
    console.time();
    return admin.auth().createUser({
        email: data.email,
        emailVerified: true,
        password: data.password,
        disabled: false
    })
        .then(userRecord => {
            console.log('Successful: ', userRecord.uid);
            const message = {
                firstname: data.firstname,
                lastname: data.lastname
            }
            return db.collection('Users').add(message)
                .then(() => {
                    return "Success";
                })
        })
        .catch(function(error) {
            console.log('Error creating new user:', error);
            console.trace();
            console.timeEnd();
            return "Error";
        });
});```
...