Firebase 可调用函数未接收参数
Posted
技术标签:
【中文标题】Firebase 可调用函数未接收参数【英文标题】:Firebase callable function not receiving arguments 【发布时间】:2019-01-22 12:29:04 【问题描述】:在 typescript 上实现一个简单的函数来调用 Firebase 可调用函数不起作用。 使用 firebase-tools@4.0.3 -g, firebase-functions@2.0.5, firebase@5.3.1
Firebase 可调用函数:
import * as functions from "firebase-functions";
exports.httpsOnCall = functions.https.onCall((data, context) =>
console.log(data);
return data;
);
部署正确
在webapp中调用函数:
const a = Firebase.functions.httpsCallable("httpsOnCall");
a.call( a: 1, b: "testing", c: true ).then(result =>
console.log(result);
);
Firebase 对象初始化:
import * as firebase from "firebase";
const config =
apiKey: "asdasdasd",
authDomain: "APPNAME.firebaseapp.com",
databaseURL: "https://APPNAME.firebaseio.com",
projectId: "APPNAME",
storageBucket: "APPNAME.appspot.com",
messagingSenderId: "123456"
;
firebase.initializeApp(config);
const Firebase =
functions: firebase.functions()
来自 firebase 的日志:
null
来自 webapp 的日志:
data: null
即使填充了上下文变量,数据似乎也没有到达 httpsOnCall 函数。
【问题讨论】:
【参考方案1】:不用a.call
,只需调用带有参数的函数a
,如下所示:
const a = Firebase.functions.httpsCallable("httpsOnCall");
a( a: 1, b: "testing", c: true ).then(result =>
console.log(result);
);
有关示例,请参阅 guide。
【讨论】:
菜鸟错误。我看到了调用方法,立即认为这就是我要找的。非常感谢!【参考方案2】://imports
const firebase = require("firebase");
require("firebase/functions");
//call steatment
const a = firebase.functions().httpsCallable('httpsOnCall');
a( a: 1, b: "testing", c: true )
.then((result) =>
console.log(result);
)
.catch((error) =>
console.log(`error: $JSON.stringify(error)`);
);
【讨论】:
以上是关于Firebase 可调用函数未接收参数的主要内容,如果未能解决你的问题,请参考以下文章