从 Firebase 读取
Reading from Firebase
我对 Firebase 和 JS 本身也很陌生,这不是最容易理解的东西。
所以,我有一个 Firebase 实时数据库设置了虚拟 "users" 配置文件,每个配置文件都包含不同的属性。
我正在尝试调用用户的属性。
我设法通过以下方法实现了它:
let installDateRef = database.ref(`users/${userAccount}/installationDate`);
let lastUsedDateRef = database.ref(`users/${userAccount}/lastUsed`);
installDateRef.on('value', function(snapshot) {
installationDate.innerText = (snapshot.val());
}, function (error) {
installationDate.innerText = `Error: ${error.code}`
});
lastUsedDateRef.on('value', function(snapshot) {
lastUsedDate.innerText = (snapshot.val());
}, function (error) {
lastUsedDate.innerText = `Error: ${error.code}`
});
但是在我的应用程序中我想显示所有的用户信息,所以复制这个“.on”函数似乎有点过分了。
有人说下面有更干净的方法
const firebasePromises = [
database.ref(`users/${userAccount}/installationDate`),
database.ref(`users/${userAccount}/lastUsed`)
];
Promise.all(firebasePromises).then(([_installationDate, _lastUsed]) => {
installationDate.innerText = (_installationDate.val());
lastUsedDate.innerText = (_lastUsed.val());
})
但我对上帝诚实,无法让它发挥作用。它要么 returns undefined 要么 returns 我的 promises const 数组。
.val()连一点都不行,说这不是函数
任何关于最佳和工作实践的帮助将不胜感激。
谢谢
@Doug Stevenson 谢谢!这正是我们所需要的:
const firebasePromises = [
database.ref(`users/${userAccount}/installationDate`).once('value'),
database.ref(`users/${userAccount}/lastUsed`).once('value'),
];
Promise.all(firebasePromises).then(snap => {
installationDateHTML.innerText = snap[0].val();
lastUsedDateHTML.innerText = snap[1].val();
})
我对 Firebase 和 JS 本身也很陌生,这不是最容易理解的东西。
所以,我有一个 Firebase 实时数据库设置了虚拟 "users" 配置文件,每个配置文件都包含不同的属性。
我正在尝试调用用户的属性。 我设法通过以下方法实现了它:
let installDateRef = database.ref(`users/${userAccount}/installationDate`);
let lastUsedDateRef = database.ref(`users/${userAccount}/lastUsed`);
installDateRef.on('value', function(snapshot) {
installationDate.innerText = (snapshot.val());
}, function (error) {
installationDate.innerText = `Error: ${error.code}`
});
lastUsedDateRef.on('value', function(snapshot) {
lastUsedDate.innerText = (snapshot.val());
}, function (error) {
lastUsedDate.innerText = `Error: ${error.code}`
});
但是在我的应用程序中我想显示所有的用户信息,所以复制这个“.on”函数似乎有点过分了。 有人说下面有更干净的方法
const firebasePromises = [
database.ref(`users/${userAccount}/installationDate`),
database.ref(`users/${userAccount}/lastUsed`)
];
Promise.all(firebasePromises).then(([_installationDate, _lastUsed]) => {
installationDate.innerText = (_installationDate.val());
lastUsedDate.innerText = (_lastUsed.val());
})
但我对上帝诚实,无法让它发挥作用。它要么 returns undefined 要么 returns 我的 promises const 数组。 .val()连一点都不行,说这不是函数
任何关于最佳和工作实践的帮助将不胜感激。
谢谢
@Doug Stevenson 谢谢!这正是我们所需要的:
const firebasePromises = [
database.ref(`users/${userAccount}/installationDate`).once('value'),
database.ref(`users/${userAccount}/lastUsed`).once('value'),
];
Promise.all(firebasePromises).then(snap => {
installationDateHTML.innerText = snap[0].val();
lastUsedDateHTML.innerText = snap[1].val();
})