一旦调用javascript,firebase中的错误处理

问题描述 投票:0回答:2

我在一个调用firebase数据库中进行查询。如果记录存在于firebase中,则执行一些代码,但是当记录不存在时,永远不会调用错误处理。怎么了?

dbReference.child('432sfdgS24').once('value', function(snap) {
    console.log(snap.val()); // logged if '432sfdgS24' exists   
}, function(error) {
    console.error(error); // never come here even if '432sfdgS24'does not exist
});
javascript node.js firebase firebase-realtime-database google-cloud-functions
2个回答
0
投票

缺少某个位置的数据不是错误。在没有数据的位置请求数据,只会导致不包含数据的快照。

当客户端确定它无法读取某个位置的数据时会发生错误,因为服务器上的安全规则会阻止它。


0
投票

当您从firebase数据库中获取数据时,您将不会收到错误。如果数据存在,您可以将其作为snap.val()访问,如果数据不存在则snap.val()将为null。

所以你可以这样做,

dbReference.child('432sfdgS24').once('value', function(snap) {
    var data = snap.val()
    if(data != null) {
        console.log('Data fetched successfully')
    }
    else {
        console.log('Failed to fetch the data')
    }
})
© www.soinside.com 2019 - 2024. All rights reserved.