База данных Firebase в реальном времени: проблема с почтовым запросом

Я использую Postman для тестирования следующего кода. Вставка проходит успешно, но сервер отправляет меня обратно: Ошибка: не удалось обработать запрос

exports.insertMesure = functions.https.onRequest((req, res) => {
    const identifiant = req.body.identifiant;
    const temperatureAir = req.body.temperatureAir;
    const humiditeSol = req.body.humiditeSol;
    const humiditeAir = req.body.humiditeAir;
    const niveauEau = req.body.niveauEau;
    const phSol = req.body.phSol;

    const mesure = {
        temperatureAir: temperatureAir,
        humiditeSol: humiditeSol,
        humiditeAir: humiditeAir,
        niveauEau: niveauEau,
        phSol: phSol
    };

    const dbRef = admin.database().ref('/users/' + identifiant + '/mesures');
    dbRef.push(mesure)
    .then(snapchot => {
        return snapchot;
    })
    .catch(err => {
        res.send('Error: ' + err);
    });
});

Я отправляю следующие данные с Postman:

{
    "identifiant": "talla",
    "temperatureAir": 45,
    "humiditeSol": 23,
    "humiditeAir": 106,
    "niveauEau": 55,
    "phSol": 6
}

Помоги мне, пожалуйста


person Koundoul    schedule 04.03.2019    source источник


Ответы (1)


Ваш серверный скрипт ничего не отправляет вызывающему абоненту. Вы, вероятно, захотите отправить код состояния, чтобы указать, что запись в базу данных была успешно завершена:

const dbRef = admin.database().ref('/users/' + identifiant + '/mesures');
dbRef.push(mesure)
  .then(snapshot => {
    res.status(200).send('ok');
  })
  .catch(err => {
    res.status(500).send(err);
  });
person Frank van Puffelen    schedule 04.03.2019
comment
Спасибо за ваш ответ. Я сделал, как вы говорите, но получаю сообщение об ошибке: error Каждый then() должен возвращать значение или выдавать обещание/всегда возвращать - person Koundoul; 05.03.2019
comment
В фрагменте, которым я поделился, нет forEach, поэтому маловероятно, что это вызывает эту ошибку. Если у вас возникла новая проблема, либо обновите свой вопрос последним кодом, либо откройте новый вопрос для новой проблемы. - person Frank van Puffelen; 05.03.2019