根据Firebase的文档,以下代码可用于调用名为 addMessage 的onCall函数。
var addMessage = firebase.functions().httpsCallable('addMessage');
addMessage({text: messageText}).then(function(result) {
// Read result of the Cloud Function.
var sanitizedMessage = result.data.text;
})
我有一个名为 test 的函数,并使用Javascript编写了以下代码(仅用于测试此功能):
exports.test = functions.https.onCall((data, context) => {
console.log(data);
data.page++;
console.log(data);
var testing = firebase.functions().httpsCallable('test');
while(data.page < 5) {
testing({page: data.page}).then(res => {
console.log("done");
})
}
});
但是,运行此命令时,出现以下错误:
未处理的错误TypeError:firebase.functions不是函数
我在做什么错了?
答案 0 :(得分:3)
firebase.functions()
方法来自firebase/functions
软件包,而不来自firebase
或firebase-functions
。
const firebase = require('firebase/app');
require('firebase/functions');
const firebaseConfig = {<YOUR_CONFIG_HERE>};
const app = firebase.initializeApp(firebaseConfig);
const functions = app.functions();
答案 1 :(得分:0)
您似乎没有在Web应用程序中包含客户端Cloud Functions SDK。根据您包括其他Firebase SDK的方式,您可能需要执行this guide或将其包含在其他Firebase SDK中(例如<script src="https://www.gstatic.com/firebasejs/7.2.3/firebase-functions.js"></script>
)。
此过程在what Phani linked to的文档中进行了介绍。