【发布时间】:2021-11-03 14:50:24
【问题描述】:
我制作了 firebase 云功能,向用户添加了他或她已付款的声明(为用户设置为 true):
const admin = require("firebase-admin");
exports.addPaidClaim = functions.https.onCall(async (data, context) => {
// add custom claim (paid)
return admin.auth().setCustomUserClaims(data.uid, {
paid: true,
}).then(() => {
return {
message: `Succes! ${data.email} has paid for the course`,
};
}).catch((err) => {
return err;
});
});
但是,当我运行此函数时:我收到以下错误:“未处理的拒绝(RangeError):超出最大调用堆栈大小”。我真的不明白为什么会这样。有人知道是什么导致了被召回的内容,进而导致函数永远不会结束吗?
【问题讨论】:
-
尝试用
throw new functions.https.HttpsError('internal', error.message);替换return err; -
我仍然遇到同样的错误
-
您是否尝试过删除和重新部署您的函数?我看不出你写的东西有什么问题
-
我有,但这并没有什么不同。如何在 firebase 中调试此功能?我没有收到任何关于导致这么大的调用堆栈大小的反馈
标签: firebase firebase-realtime-database firebase-authentication google-cloud-functions