我到处寻找,没有地方给我一个满意的答案;如何在需要时简单地从Firebase数据库中检索数据?我不想同步数据,我只想在我打电话时获取数据。使用once()的各种尝试都完全失败了,没有让我接近。它甚至可能还是Firebase不是为我想要做的而设计的?
编辑:我想做的最小例子:
let ref = firebase.database().ref("location1");
let intendedValue = "Data not Gathered";
ref.once("value").then( function(snapshot) {
intendedValue = snapshot.val();
});
console.log(intendedValue);
我的firebase数据库具有以下结构:
projectFolder:
location1:
datapoint1: "dataValue1";
所以你认为这会记录" dataValue1",而是记录" Data not Gathered"好像ref.once()从未跑过。
答案 0 :(得分:0)
自调用
以来 ref.once("value").then( function(snapshot) {
intendedValue = snapshot.val();
});
基本上是一个回调,所以当您记录输出时,行intendedValue = snapshot.val();
甚至还没有运行。
你可以试试这个
ref.once("value").then( function(snapshot) {
intendedValue = snapshot.val();
console.log(intendedValue);
});
答案 1 :(得分:0)
function fire_base_db(){
var ref = firebase.database().ref();
ref.on("value", function(snapshot) {
console.log(snapshot.val());
}, function (error) {
console.log("Error: " + error.code);
});}
snapshot.val()包含数据库的值 您可以将snapshot.val()的值存储在变量中,并将其发送到另一个函数