我正试图通过云功能与防火墙进行交互。云功能如下所示:
const admin = require("firebase-admin");
const functions = require("firebase-functions");
admin.initializeApp();
const db = admin.firestore();
exports.addVote = functions.https.onCall((data, context) => {
return db
.doc("sdd-enheter/enhet/votes/voteID")
.set({ user: "user", vote: 0 });
});当从客户端调用函数时,我会得到一个防火墙内部错误,指示函数已被调用,但抛出了一个错误。我该怎么做才能解决这个问题?
发布于 2022-08-16 23:09:35
您的函数需要返回一个承诺,或者通过抛出https错误来终止。抛出https错误将给客户端返回一个它可以处理的相关错误,因此请考虑养成这样的习惯。下面的职能涵盖这两个基地。如果您仍然收到一个错误,那么就像控制台的函数日志中所显示的那样,与我们共享该错误。
exports.addVote = functions.https.onCall((_data, _context) => {
const db = admin.firestore();
try {
return db.doc("sdd-enheter/enhet/votes/voteID").set({user: "user", vote: 0});
} catch (error) {
throw new functions.https.HttpsError("unknown", "Failed to add vote.", error);
}
});https://stackoverflow.com/questions/73380973
复制相似问题