React-Native:更新后读取保存在 Firebase 上的时间戳

React-Native: read timestamp saved on Firebase, after updating it

我每次点击我的反应本机应用程序上的按钮时,都会在 Firebase 服务器中更新 timestamp(android). 问题是,更新后,我想阅读它并用这个时间戳设置我的状态。

这是我在 Internet 上找到的一些代码,它会更新 Firebase 上的日期,到达第一个 'then' 块 但永远不会继续,所以永远不会到达第二个 'then' 块 并且永远不会显示 alert(onlyDate);

我在 Firebase 上没有关于 rules 的错误,读写都可用。

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);
    })
  }

有人可以帮帮我吗??

从 firebase 函数访问响应的方式是通过 运行 val();对结果起作用。

更改此行

let timestamp = data._value.time;

进入这个:

let timestamp = data.val().time;