在保存数据时等待 Firebase 响应



我正在将表单数据保存到Firebase,我想等待成功后再显示警报。我怎样才能做到这一点?我正在使用以下代码:

var submitInquiry = function () {
  // Get input values from each of the form elements
  var name = $("#student-name").val();
  var contact = $("#student-contact").val();
  var email = $("#student-email").val();
  var board = $("#student-board").val();
  var subject = $("#student-subject").val();
  var standard = $("#student-class").val();
  var message = $("#student-message").val();
  // Push a new inquiry to the database using those values
  var inquiryInstance =  inquiry.push();
  inquiryInstance.push({
    "name": name,
    "contact": contact,
    "email": email,
    "board": board,
    "subject": subject,
    "standard": standard,
    "message": message,
  }); 
  alert("Thank You! Your request has been received and our team will connect with you shortly.");
};

首先,你给push()打了两次电话,这真的没有意义。 所以我假设你只打算叫一次。

根据 API docs push() 返回一个 "ThennableReference",这实际上只是说它返回一个在操作完成后解析的承诺。 使用此承诺执行其他一些回调函数,以便在写入完成后执行您想要的操作:

inquiry.push({ ... }).then(() => {
    alert(...)
})

最新更新