我试图比较两个不同的+new Date
,但有时它会给出不同的结果。
所以这就是我这样做的方式:
第一个用户向Firebase(服务器)发送请求并设置值
time: +new Date
喜欢这个
firebase.userRef.set({
time: +new Date
})
然后第二个用户向Firebase发送类似的请求并设置如上所述的值。然后第二个用户在查询中找到用户1并检查谁先发送请求。像这样:
firebase.usersRef.child(user_uid).once("value",function(snapshot){
firebase.usersRef.child(current_uid).once("value",function(childSnapshot) {
if(snapshot.val().time > childSnapshot.val().time){
//current user requested first
} else {
//user found requested first
}
});
});
但是,有时两个用户都会得到错误的答案。因此用户认为当前用户首先请求。
答案 0 :(得分:2)
设置时间戳的更好方法是使用ServerValues:
userRef.set({
time: firebase.database.ServerValue.TIMESTAMP
})
使用服务器值会更好,因为一旦它到达Firebase的服务器就会获取该值,并使您的比较准确。