Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取Firebase中两个节点的值?_Javascript_Firebase_Firebase Realtime Database - Fatal编程技术网

Javascript 如何获取Firebase中两个节点的值?

Javascript 如何获取Firebase中两个节点的值?,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我使用作为参考来执行以下代码。我尝试了其他组合,但没有成功。对数据库没有安全访问权限 那么,该代码如何同时读取或获取两个节点的值呢 function gofb(d) { var r = d.getAttribute("data-id"); var p1name, p2name, pa1, pa2, pb1, pb2; return firebase.database().ref('/wc2017/' + r + '/t1').once('value').then( funct

我使用作为参考来执行以下代码。我尝试了其他组合,但没有成功。对数据库没有安全访问权限

那么,该代码如何同时读取或获取两个节点的值呢

function gofb(d) {
  var r = d.getAttribute("data-id");
  var p1name, p2name, pa1, pa2, pb1, pb2;
  return firebase.database().ref('/wc2017/' + r + '/t1').once('value').then(
    function(snapshot) {
     pa1 = snapshot.val().pd1;
     pa2 = snapshot.val().pd2;
     p1name = pa1 + "|" + pa2;
  });

  return firebase.database().ref('/wc2017/' + r + '/t2').once('value').then(
    function(snapshot) {
     pb1 = snapshot.val().pd1;
     pb2 = snapshot.val().pd2;
     p2name = pb1 + "|" + pb2;
  });

  return firebase.database().ref('/wc2017/' + r).update({
   a0_start: firebase.database.ServerValue.TIMESTAMP});

  console.log(t1name);
  console.log(t2name);
}

您只需获取父对象值的快照。并获得您想要的值。请参考以下代码

firebase.database().ref('/wc2017/' + r).once('value',function(snapshot){

sValue = snapshot.val();
pa1t1 = sValue.t1.pd1;
pa2t1 = sValue.t1.pd2;

pb1t2 = sValue.t2.pd1;
pb2t2 = sValue.t2.pd2;

});