用函数作为参数的Java if语句

时间:2018-12-17 00:44:50

标签: javascript firebase firebase-realtime-database

我正在使用Javascript进行一些奇怪的行为。

在此函数中,我传递了用户通过html中的输入标签提交的索引。 在Firebase数据库中检查了索引,它返回了正确的答案,但是当我尝试比较if语句中的函数return时,它总是以执行代码的“ else”部分结束。 这是我的代码。

function productExists(index) {
  console.log("INDEX: "+ index);
  db.orderByKey().equalTo(index).once("value",snapshot => {
    if (snapshot.exists()){
      console.log("true");
      return true;
    }
    else {
      console.log("false");
      return false;
    }
  });
}

以及正在调用上一个函数的函数:

function registerProduct() {
  var x = document.getElementById("input").elements;
  console.log("x[0].value="+ x[0].value);
  if (productExists(x[0].value)){
    window.alert("ID already exists");
  }
  else {
      db.child(x[0].value).update({
      id: x[0].value,
      product_name: x[1].value,
      man_name: x[2].value,
      pur_price: x[3].value,
      sel_price: x[4].value,
    });
    window.alert("Product added to database!");
  }
}
我测试输入和传递参数的

log可以正常工作,唯一的问题是if语句始终警告else语句。

0 个答案:

没有答案