【发布时间】:2016-07-15 20:32:18
【问题描述】:
我在使用 Firebase 时遇到了一些麻烦。我想使用我的 Express 服务器从我的 Firebase 数据库中检索数据,并将该数据作为我可以在我的 Jade 模板中使用的对象传递。我想从两个不同的端点获取数据并将该数据设置为我的firebaseData 对象中的键值,您将在下面看到。而不是接收带有键和值的对象,我希望我的两个值都是Promise {<pending>}。我在控制台中记录我的firebaseData 对象以查看这一点,并且在 DOM 中没有呈现任何内容。我渲染页面太快了吗?这是我正在使用的代码:
app.get("/cac", function(req, res){
var firebaseData = {};
function getFirebaseData(endpoint){
return firebase.database().ref(endpoint).once("value", function(snapshot){
return snapshot.val();
});
}
firebaseData.members = getFirebaseData("CAC_Members");
firebaseData.events = getFirebaseData("CAC_Events");
console.log(firebaseData);
res.render("cac", firebaseData);
});
在控制台中:
{ members: Promise { <pending> },
events: Promise { <pending> } }
我没有任何关于承诺的经验,但我觉得我正在做的事情应该是有效的。有没有更好的方法来做到这一点?我会很感激任何指点!
【问题讨论】:
标签: javascript express firebase pug firebase-realtime-database