Невозможно развернуть функции Firebase - PullRequest
0 голосов
/ 23 марта 2020

Всякий раз, когда я запускаю «firebase deploy --only functions», он встречается с этой ошибкой. Ошибка возникает при анализе триггеров вашей функции.

TypeError: functions.https.onCall (... ). Тогда это не функция объекта. (C: \ Users \ Lenovo \ Desktop \ Firebase Revision \ functions \ index. js: 11: 4) в Module._compile (внутренний / modules / cjs / loader. js: 1158: 30) в Object .Module._extensions .. js (внутренний / modules / cjs / загрузчик. js: 1178: 10) в Module.load (внутренний / modules / cjs / загрузчик. js: 1002: 32) в функции. Module._load (внутренний / modules / cjs / loader. js: 901: 14) в Module.require (внутренний / modules / cjs / loader. js: 1044: 19) по требованию (внутренний / modules / cjs /) помощники. js: 77: 18) в C: \ Users \ Lenovo \ AppData \ Roaming \ npm \ node_modules \ firebase-tools \ lib \ triggerParser. js: 15: 15 в Object. (C: \ Users \ Lenovo \ AppData \ Roaming \ npm \ node_modules \ firebase-tools \ lib \ triggerParser. js: 53: 3) в модуле Module._compile (внутренний / modules / cjs / loader. js : 1158: 30)

Ниже приведен мой код в индексе. js functions

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

exports.addAdminRole = functions.https.onCall((data,context) => {
    return admin.auth().getUserByEmail(data.email).then(user => {
        return admin.auth().setCustomUserClaims(user.uid,{
            admin: true
        });
    })
}).then(()=>{
    return {
        message: `Success! ${data.email} has been made an admin`
    }
}).catch(err => {
    return err;
})

1 Ответ

0 голосов
/ 23 марта 2020

Вы неправильно связали метод then(). Вы должны сделать следующее:

exports.addAdminRole = functions.https.onCall((data, context) => {
    return admin.auth().getUserByEmail(data.email)
        .then(user => {
            return admin.auth().setCustomUserClaims(user.uid, {
                admin: true
            });
        })
        .then(() => {
            return {
                message: `Success! ${data.email} has been made an admin`
            }
        }).catch(err => {
            return err;
        })
})

Обратите внимание, что вместо выполнения

.catch(err => {
    return err;
})

вы должны следовать указаниям do c на , как обрабатывать ошибки в Функция вызываемого облака .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...