javascript - 更改 firebase.databse 中的变量
问题描述
我有一个函数并调用firebase数据库,我想获取值并传递给函数内部的变量declate但不起作用。这是怎么做的?
subObjectTable(data, cell) {
...
const database = fire.database();
let nome;
database
.ref(`/proprietários/${getProp}`)
.on('value', snapshot => {
let data = snapshot.val();
nome = data.Nome;
})
console.log('nome', nome) // undefined
}
解决方案
Firebase API 是异步的并立即返回。您的查询结果将在一段时间后与您的查询结果一起提供。 subObjectTable
将在第一次回调发生时完全完成。
如果你想用 的值做一些事情nome
,你必须在你传递给的函数回调中做on()
,或者从那里调用其他函数。
推荐阅读
- templates - 为什么我收到模板类堆栈的分段错误?
- javascript - Javascript:带有数组和超时的承诺函数
- octave - 在程序以八度自动结束后重新运行程序
- javascript - 如何在 React Native 中使用 useState 在 AsyncStorage 中保存数据?
- asp.net-mvc - 在 C# 中以通用存储库模式调用数据库视图
- reactjs - 从 store 访问 state 和 props
- c# - C# 单选按钮 SQL Server
- routes - 在我在 Firefox 的 Angular 应用程序中的 accessiBe 中启用 Seizure Safe 配置文件后的导航问题
- html - 嵌入网站时如何仅循环播放我的 youtube 频道中的视频
- tensorflow - 为什么 Keras Embedding 层的 input_dim = vocab_size + 1