Javascript 如何捕获firebase搜索错误?
我有一个函数,可以接受用户的输入并通过firebase数据库进行搜索。我想做的是捕捉任何错误,尤其是当它们与用户输入不匹配时,我想显示为“输入的数字找不到匹配项” 这就是我正在使用的函数Javascript 如何捕获firebase搜索错误?,javascript,html,firebase,firebase-realtime-database,Javascript,Html,Firebase,Firebase Realtime Database,我有一个函数,可以接受用户的输入并通过firebase数据库进行搜索。我想做的是捕捉任何错误,尤其是当它们与用户输入不匹配时,我想显示为“输入的数字找不到匹配项” 这就是我正在使用的函数 function searchNSN(data){ var container = document.getElementById('searchresult'); container.innerHTML = ''; var FindNSN = document.getElement
function searchNSN(data){
var container = document.getElementById('searchresult');
container.innerHTML = '';
var FindNSN = document.getElementById('searchinput').value;
firebase.auth().onAuthStateChanged((user) => {
if (user) {
var BusinessesId = firebase.auth().currentUser.uid;
return database.ref('/Businesses/' + BusinessesId + '/Inventory/' + FindNSN).once('value').then(function(snapshot) {
var Results = snapshot.val();
var Productkey = Object.keys(snapshot.val())[0];
var ResultCard = `
<h1 class="searchtitle first">${Results.ProductName}</h1>
<p class="searchtext">${Results.ProductDescription}<span class="class">${Results.NSN}</span></p>
<p class="showproductdetail" onclick="SHOWSEARCHDETAIL();"><a href> Show Product Details </a href></p>
`
container.innerHTML += ResultCard;
});
}
})
}
函数搜索NSN(数据){
var container=document.getElementById('searchresult');
container.innerHTML='';
var FindNSN=document.getElementById('searchinput')。值;
firebase.auth().onAuthStateChanged((用户)=>{
如果(用户){
var BusinessesId=firebase.auth().currentUser.uid;
返回database.ref('/businesss/'+BusinessesId+'/Inventory/'+FindNSN)。一次('value')。然后(函数(快照){
var Results=snapshot.val();
var Productkey=Object.keys(snapshot.val())[0];
var ResultCard=`
${Results.ProductName}
${Results.ProductDescription}${Results.NSN}
显示产品详细信息
`
container.innerHTML+=ResultCard;
});
}
})
}
我知道控制台会记录错误,但我如何实现捕获错误并将其报告给用户?如果数据库位置/引用不包含任何数据,它仍会触发
值事件,但带有空的DataSnapshot
(即snapshot.val()
为null
)。您可以检查snapshot.val()==null
,如果是,请让用户知道没有结果
,值事件部分