Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何捕获firebase搜索错误?_Javascript_Html_Firebase_Firebase Realtime Database - Fatal编程技术网

Javascript 如何捕获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

我有一个函数,可以接受用户的输入并通过firebase数据库进行搜索。我想做的是捕捉任何错误,尤其是当它们与用户输入不匹配时,我想显示为“输入的数字找不到匹配项”

这就是我正在使用的函数

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
,如果是,请让用户知道没有结果

,值事件部分