【发布时间】:2018-11-15 18:16:12
【问题描述】:
目前正在使用 ionic 开发混合移动应用。当应用程序启动并且用户第一次写入实时数据库时,它总是延迟大约 10 秒或更长时间。但任何后续写入几乎都是瞬时完成的(不到 1 秒)。
我的延迟计算基于在 Firebase 控制台中观察数据库。
这是一个已知问题,还是我做错了什么。请分享您的观点。
编辑:
写入是通过 Firebase Cloud Function 进行的。
这是对 Firebase Cloud 函数的调用
this.http.post(url+"/favouritesAndNotes", obj, this.httpOptions)
.subscribe((data) => {
console.log(data);
},(error)=>{
console.log(error);
});
这是实际功能
app.post('/favouritesAndNotes', (request, response) => {
var db = admin.database().ref("users/" + request.body.uid);
var favourites = request.body.favourites;
var notes = request.body.notes;
if(favourites!==undefined){
db.child("favourites/").set(favourites);
}
if(notes!==undefined){
db.child("notes/").set(notes);
}
console.log("Write successfull");
response.status(200).end();
});
【问题讨论】:
-
您的用户是在您打开应用程序时进行身份验证,还是仅在您第一次调用时进行身份验证?
-
@ChristopheGudlake 用户已经登录。
-
他们可能会关闭测功机并在活动开始后重新打开它。
-
@ChristopheGudlake:您链接的问题是关于启动 Cloud Functions 所需的时间,而这个问题是关于实时数据库的。虽然两者都是 Firebase 的一部分,但它们完全不同。例如:Firebase 数据库实例没有“旋转”,我怀疑缓存会导致这种差异。
标签: firebase firebase-realtime-database google-cloud-functions