我有一个React Native - Expo应用程序,最近我使用firebase-functions/v2/https onCall()实现了一个基本的云函数,如下所示:
exports.addmessage = onCall((request) => {
logger.info("Request: " + request.data.text);
return {text: text}
});
我部署了这个函数,它的部署看起来是正确的。然后我尝试从App组件中的客户端代码调用此函数,如下所示:
export default function App() {
const addmessage = httpsCallable(functions, 'addmessage');
function callFunction() {
addmessage({ text: "Hello world!" })
.then((result) => {
console.log("Function called");
console.log(result);
}).catch((error) => {
console.log("Function call failed");
console.log(error)
});
}
return (
<SafeAreaProvider>
<SafeAreaView style={styles.container}>
<Button title="Call cloud function" onPress={() => callFunction()}></Button>
<StatusBar style="auto" />
</SafeAreaView>
</SafeAreaProvider>
);
}
当我点击按钮调用云函数时,我得到“Function call failed”和“[FirebaseError:内部]"。这是调用可调用函数的正确方法吗?我已经检查了firebase门户中函数的记录器,但没有错误记录在那里。我可以做些什么来找到/解决这个问题?我已经用onRequest-function进行了测试,它可以像预期的那样工作。
我使用“Firebase”:“9.22.1”作为project-package.json中的依赖项(尽管我也用“firebase”进行了测试:“9.20.0”)在我的函数package.json中,我有这些依赖项:“firebase-admin”:“^11.8.0”,“firebase-functions”:“^4.3.1”。
1条答案
按热度按时间izkcnapc1#
我没试过你的云函数
你实际上没有声明
text
变量。下面的代码应该可以做到这一点:
我还建议通过以下文档更好地管理Cloud Function中的错误日志:在CF和客户端中。