当前位置: 首页 > 知识库问答 >
问题:

无法部署firebase函数

孟选
2023-03-14

每当我运行“Firebasehtml" target="_blank">部署-只有函数”时,它就会出现这个错误分析函数触发器时出错。

类型错误:函数。https。onCall(…)。那么它就不是对象的函数了。(C:\Users\Lenovo\Desktop\Firebase Revision\functions\index.js:11:4)在模块中_在对象处编译(internal/modules/cjs/loader.js:1158:30)。模块_扩展。。模块处的js(internal/modules/cjs/loader.js:1178:10)。在功能处加载(内部/modules/cjs/loader.js:1002:32)。模块_在模块处加载(内部/modules/cjs/loader.js:901:14)。require(internal/modules/cjs/loader.js:1044:19)位于require(internal/modules/cjs/helpers.js:77:18)的C:\Users\Lenovo\AppData\Roaming\npm\node\u modules\firebase tools\lib\triggerParser。js:15:15在物体上。(C:\Users\Lenovo\AppData\Roaming\npm\node\u modules\firebase tools\lib\triggerParser.js:53:3)位于模块处_编译(internal/modules/cjs/loader.js:1158:30)

以下是我在索引中的代码。js函数

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个答案

诸葛砚
2023-03-14

您没有正确链接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;
})

您应该按照文档说明如何处理可调用云函数中的错误。

 类似资料:
  • 我已经创建了一个firebase函数,一旦触发就发送电子邮件。问题是,当我尝试部署它时,它会给我一个错误 null 下面是我当前的代码: 我该如何解决这件事?

  • 我试图部署一个PubSub函数: 在我第一次尝试部署该功能之前,云调度API被禁用。 它自动启用了。 PubSub也已启用。 由于Cloud Scheduler API和PubSub已经为项目启用。理想情况下,在部署函数时不应该有任何错误。错误确实提到了几分钟后尝试。但是自从我启用PubSub和Cloud Scheduler API以来,已经过去了24小时。 节点:v12。10 Firebase函

  • 问题内容: 我正在尝试将功能部署到Firebase,并且在部署过程中出现错误 错误:功能未正确部署。 可以将其与异步功能链接吗? 实际行为 函数部署时出错,cli向我显示以下消息: ===============控制台日志================ ===============函数index.js文件================ =============== package.json

  • 我已经使用firebase云函数一段时间了,今天在代码中修复了一个小错误,在尝试部署时出现了以下错误。我取消了该更改,并尝试使用上次提交的稳定更改再次部署,但仍然是相同的错误。有什么解决办法吗?PS:这是一个typescript项目,我用tsc编译它。

  • 我试图为我的react本机应用程序部署一个云功能,当数据库中出现新节点时,它会向用户发送通知。为此,我使用了Expo的Push API,如下所示:https://docs . Expo . io/versions/v 32 . 0 . 0/guides/Push-notifications,并遵循以下教程:https://www.youtube.com/watch?v=R2D6J10fhA4 我已

  • 我在firebase CLI中部署云功能时遇到问题。我已经从github克隆了“functions samples”repo,然后在该repo的“quickstarts/big ben”项目中运行了deploy命令。我按照指示运行了以下命令: 从那以后,我的动力壳里有了这个输出 我已经在谷歌云平台中启用了这些API-Firebase Remote Congig API,Firebase规则API,