Дождитесь ответа Firebase при сохранении данных

1

Я сохраняю данные формы в базе данных и хочу дождаться успеха, прежде чем показывать предупреждение. Как мне этого добиться? Я использую ниже код:

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.");
};
  • 0
    Получаете ли вы какие-либо ответы от firebase о том, были ли данные успешно сохранены?
  • 0
    Как получить ответ от firebase в коде. Я могу проверить на консоли для сохраненного значения
Теги:
firebase
firebase-realtime-database

1 ответ

2
Лучший ответ

Прежде всего, вы дважды вызываете push(), что на самом деле не имеет смысла. Итак, я предполагаю, что вы хотели позвонить только один раз.

Согласно API документов push() возвращает "ThennableReference", которое на самом деле просто означает, что он возвращает обещание, которое разрешается после завершения операции. Используйте это обещание, чтобы выполнить некоторую другую функцию обратного вызова, чтобы сделать то, что вы хотите после завершения записи:

inquiry.push({ ... }).then(() => {
    alert(...)
})
  • 0
    Сейчас он работает нормально, но проблема в том, что он не обновляется после отображения предупреждения. Когда я использовал 'location.reload (); Метод после отображения оповещения ', он не показывает оповещение, только обновите форму.
  • 0
    Это звучит как совершенно другая проблема. Пожалуйста, задайте совершенно новый вопрос о переполнении стека, чтобы объяснить, что это за новая проблема.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню