调用firebase.functions()时firebase-functions.js内部错误

mco*_*ney 8 javascript firebase

正如标题所示,当我对firebase.functions()进行任何调用时,我在firebase-functions.js库中出现内部错误.

一些上下文,这是纯js,而不是nodeJS,React或Jquery,我正在尝试调用httpsCallable云函数.云函数是可调用的,并且可以从android预期的那样工作.firebase-functions.js库版本是4.13.0.

错误是:

Error
?
    code: "internal"
?
    columnNumber: 2043
?
    details: undefined
?
    fileName: "http://www.gstatic.com/firebasejs/4.13.0/firebase-functions.js"
?
    lineNumber: 1
?
    message: "internal"
?
    stack: "t@http://www.gstatic.com/firebasejs/4.13.0/firebase-functions.js:1:2043\nl</e.prototype.call/</</l<@http://www.gstatic.com/firebasejs/4.13.0/firebase-functions.js:1:6501\nl</e.prototype.call/</<@http://www.gstatic.com/firebasejs/4.13.0/firebase-functions.js:1:5803\ns/</<@http://www.gstatic.com/firebasejs/4.13.0/firebase-functions.js:1:1406\ns/<@http://www.gstatic.com/firebasejs/4.13.0/firebase-functions.js:1:755\na@http://www.gstatic.com/firebasejs/4.13.0/firebase-functions.js:1:313\n"
Run Code Online (Sandbox Code Playgroud)

dar*_*eam 0

这也发生在我身上,使用 @angular/fire (AngularFire2),它内部使用了 firebase。如果您查看控制台日志,您可能会遇到 CORS 问题。

我知道有更好的方法可以做到这一点,但是将以下 cors 行添加到我对云函数的响应中解决了这个问题:

res.set("Access-Control-Allow-Origin", "*");
res.set("Access-Control-Allow-Methods", ["GET", "POST", "OPTIONS"]);
res.set("Access-Control-Allow-Headers", [
    "Access-Control-Allow-Headers",
    "Origin",
    "Accept",
    "X-Requested-With",
    "Content-Type",
    "Access-Control-Request-Method",
    "Access-Control-Request-Headers",
    'Authorization'
]);
Run Code Online (Sandbox Code Playgroud)

这种情况在 Android 上不会发生,因为与 Web 浏览器平台不同,该设备不强制执行 CORS 策略。