【发布时间】:2023-02-26 21:10:59
【问题描述】:
让我首先展示我所拥有的以及到目前为止我尝试过的东西:
var database = firebase.database().ref().child('Datah/Real');
database.orderByChild("result").equalTo("RUNNING").once('value', function(snapshot){
var content = '';
snapshot.forEach(function(data){
var key = data.ref.getKey();
var time = data.val().time;
var quote = data.val().quote;
var type = data.val().type;
var date = new Date(time * 1000);
var current = 0;
firebase.database().ref().child("Datah/Prices/" + quote).once("value", function(snapshot) {
console.log(snapshot.key+" : "+snapshot.child("price").val());
current = snapshot.child("price").val();
});
content += '<tr>';
content += '<td>' + date.toLocaleString() + '</td>';
content += '<td>' + quote + '</td>';
content += '<td>' + type + '</td>';
content += '<td>' + current + '</td>';
content += '</tr>';
});
});
$('#ex-table').append(content);
var tbody = $('table tbody');
tbody.html($('tr',tbody).get().reverse());
});
我在 firebase 中有数据,我正在从第一个 ref 中检索这些数据:数据/真实,并且此数据包含以下字符串值引用,对于我要检索的每个数据,我想使用引用从另一个 ref 检索相关数据:数据/价格.在该参考中,我只想从等于的孩子那里检索数据引用, 所以:数据/价格/报价.当我得到这个值时,我想用它填充我的表。
我设法获得了第一个数据并且它正确地填充了我的表,挑战在于应该返回的第二个快照当前的,因为它仍然返回0作为预定义,但是在控制台上:console.log(snapshot.key+" : "+snapshot.child("price").val()); 它表明它实际上正在检索值,但为什么在我的桌子上当前的总是0并不是0在控制台上?
【问题讨论】:
标签: javascript firebase