react-native - 我们可以在读取firebase数据库节点时删除它吗
问题描述
我在 Firebase 数据库本机层遇到异常。我怀疑我们在使用以下代码读取节点时正在删除节点。
userNotification.on('value', async snapshot => {
if (snapshot.val()) {
const { currentUser } = firebase.auth()
// do something here
userNotification.remove()
}
})
上面的代码可以吗?或者我应该将删除代码移到 on('value') 回调之外?
致命异常:NSGenericException 在用于 FIRDatabaseReferences 后无法修改配置对象。-[FIRDatabaseConfig setPersistenceEnabled:]
解决方案
如果代码编写正确,同时读取和写入数据库永远不会导致异常。你有一个错误的调用来启用/禁用持久性。必须在完成任何其他数据库访问之前调用它。
由于您在 iOS 上显示错误,我将向您指出 Objective-C api for persistenceEnabled,它说:
请注意,必须在创建第一个数据库引用之前设置此属性,并且每个应用程序只需调用一次。
推荐阅读
- java - 如何确定Java中数据库页面的内容何时被更改?
- mysql - MySQL IFNULL 不返回结果
- json - HTTP 406 不可接受的响应标头提琴手
- matlab - 在 MATLAB 中使用 predict() 时出现“未指定有效系统或数据集”
- python - 如何获取python顶层程序的顶层变量列表?
- python - 您如何获得通过数据框中的值搜索的特定值?
- ios - 线程 1:EXC_BAD_ACCESS(代码=1,地址=0x8000000000000010)
- vmware - 无法将 vmware-ovftool 放入卸载列表
- postgresql - 在触发器内调用的 postgres 函数中的 select 语句
- node.js - 使用 Angular CLI 反向代理 API Gateway/lambda 中的服务