如何从firebase-cloud-function发送响应错误消息

问题描述 投票:0回答:1

如何从firebase-cloud-function发送响应错误消息

我的云功能代码

exports.registerUser = functions.https.onRequest((req, res) => {
  return corsTool(req, res, async () => {
    const { mobile } = req.body;
    const data = {
      ...req.body,
      createAt: admin.firestore.Timestamp.now()
    };
    try {
      let queryMobile = db.collection("users").where("mobile", "==", mobile);
      const userMobile = await queryMobile.get();
      if (userMobile._size === 0) {
        await db
          .collection("users")
          .doc()
          .set(data);
        res.status(200).send(`save success`);
      } else {
        throw new Error("Error This mobile number is not available.");
      }
    } catch (error) {
      return res.status(500).send(error);
    }
  });
});

我的客户端代码

const registerUser = () => {
      const link = 'https://us-central1-....../registerUser'
       try {
          const regis = await axios.post(link, body)
          console.log('success')
        } catch (e) {
          console.log(e)
          console.log(e.message)
        }
}

但是在console.log()中仍未显示错误状态消息“错误此手机号码不可用。”

按摩显示此...

Error: Request failed with status code 500
    at createError (createError.js:16)
    at settle (settle.js:17)
    at XMLHttpRequest.handleLoad (xhr.js:61)

Request failed with status code 500

我需要显示消息“错误,该手机号码不可用。”

感谢Vermutch的帮助


现在我通过执行此操作来解决

如果已使用电话号码

res.status(200).send('Phone number already used')

并在客户端中检查文本

if(regis.data === "Phone number already used") {
   alert("Error: Phone number already used")
}else {
   alert("Save success")
}

这是一个好选择吗?

javascript node.js firebase google-cloud-functions
1个回答
0
投票

它正在进入catch块,然后您可以执行以下操作:

} catch (error) {
      return res.status(500).send("Error this mobile number is not available.");
    }
© www.soinside.com 2019 - 2024. All rights reserved.