【发布时间】:2019-08-18 03:57:08
【问题描述】:
我正在尝试将 Firebase Cloud Functions 集成到我的 Ionic 3 应用程序中。目标是创建一个云功能,该功能将使用管理 SDK 创建用户。
但是,当通过 HTTP 触发此函数时,它只会在向其传递数据时执行两次,如果我只是在没有数据的情况下调用该函数,它会按预期执行一次。
云功能代码:
const functions = require('firebase-functions');
exports.createUser = functions.https.onRequest((request, response) => {
response.set('Access-Control-Allow-Origin', '*');
response.set('Access-Control-Allow-Headers', 'Content-Type');
console.log(request.body);
response.status(200).send('Hello from Firebase!');
});
HTTP 请求:
axios.post(functionURL, {
data: 'some data'
})
.then(res => {
console.log(res.data);
})
.catch(err => console.log(err));
上面的 HTTP 请求按预期工作,我看到“来自 Firebase 的您好! " 在控制台中只有一次,但是当我查看函数日志时,它显示它正在执行两次。
我是 Firebase Cloud Functions 的新手,因此非常感谢任何输入或建议!
【问题讨论】:
-
您确定客户端不会以某种方式触发它两次吗? HTTP 函数具有每个请求至少一次的保证。每个请求都会触发 0 次或 1 次。此类问题不时发布,而且始终是客户。
-
我几乎 100% 确定您的客户在某处再次调用它...
-
仅供参考,Cloud Functions 可能会按设计执行多次。见this code sample
标签: firebase ionic-framework google-cloud-functions