Javascript 如何使firebase功能同步?

Javascript 如何使firebase功能同步?,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,下面是javascript函数的代码,该函数再次调用firebase数据库以检查特定联系人号码的可用性,但该函数不起作用可能是因为firebase的异步行为。请帮忙,我是firebase的新手 function check_number(){ var contact = document.getElementById("check_contact").value; var i =0; var ref = firebase.database().ref("Phone").orde

下面是javascript函数的代码,该函数再次调用firebase数据库以检查特定联系人号码的可用性,但该函数不起作用可能是因为firebase的异步行为。请帮忙,我是firebase的新手

function check_number(){

  var contact = document.getElementById("check_contact").value;

  var i =0;

  var ref = firebase.database().ref("Phone").orderByKey(); 

        ref.once("value").then(function(snapshot){

              snapshot.forEach(function(childSnapshot){

                var key = childSnapshot.key;

                if (key == contact){
                  i = 1;
                }

              });

              if (i == 1){
                alert("found");
              }else{
                alert("not found");
              }

          });

     //alert("hey");
}
从下面的表单调用上述函数

        <form  onsubmit="check_number()" >
          <input type="number" id = "check_contact" />
          <input type="submit" value="Check" id="submit" >
        </form>


如果我取消对警报的注释(“嘿”),代码会工作,否则它不会工作。

全局变量是故意的吗?你是在询问变量联系人吗?
contact
key
否它们不是故意的,它们是本地变量。如果你想的话,把var和它们放在一起,不要让它同步。而是学习使用异步代码。