每次我单击本机应用程序(android)上的按钮时,都会在 Firebase 服务器中更新时间戳。 问题在于,更新后,我想阅读并使用此时间戳设置我的状态。
这是我在Internet上找到的一些代码,它更新了 Firebase 上的日期,到达了第一个'then'区块,但是从此不再进行,因此永远不会到达第二个'then'区块,并且从不显示 alert(onlyDate);
我在Firebase上没有关于规则的错误,可以读写。
getDateServerFirebase = () => {
let fb_currentTime = firebase.database().ref('currentTime/');
fb_currentTime.update({ time: firebase.database.ServerValue.TIMESTAMP })
.then(() => {
fb_currentTime.once('value').then(function (data) {
//console.log(data);
let timestamp = data._value.time;
let fullDate = new Date(timestamp);
let onlyDate = fullDate.getDate() + '/' + (fullDate.getMonth()+1) + '/' + fullDate.getFullYear();
alert(onlyDate);
}, function serverTimeErr(err) {
console.log('Could not reach to the server time !');
});
}, function (err) {
console.log ('set time error:', err)
});
}
我尝试了这个问题,但仍然是相同的问题:写作品,不读。
setData = () =>{
firebase.database().ref('prova/').set({
name:'luis',
surname:'rew'
}, function(error) {
if (error) {
// The write failed...
} else {
// Data saved successfully!
}
});
}
readData = () =>{
firebase.database().ref('prova/')
.once('value')
.then((data)=>{
alert(data);
})
}
有人可以帮我吗?
答案 0 :(得分:0)
您从firebase函数访问响应的方式是通过运行val();。对结果起作用。
更改此行
let timestamp = data._value.time;
对此:
let timestamp = data.val().time;