【问题标题】:Firebase realtime database: post query problemFirebase 实时数据库:后查询问题
【发布时间】:2019-03-04 11:29:30
【问题描述】:

我使用 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
}

请帮帮我

【问题讨论】:

    标签: javascript firebase-realtime-database google-cloud-functions firebase-admin


    【解决方案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);
      });
    

    【讨论】:

    • 感谢您的回复。我照你说的做了,但我得到了错误:error Each then() should return a value or throw promise/always-return
    • 我共享的 sn-p 中没有 forEach,因此这似乎不太可能导致该错误。如果您遇到新问题,请使用最新代码更新您的问题,或者针对新问题打开一个新问题。
    猜你喜欢
    • 1970-01-01
    • 2019-10-15
    • 2019-07-31
    • 1970-01-01
    • 1970-01-01
    • 2021-07-01
    • 2021-04-09
    • 1970-01-01
    相关资源
    最近更新 更多