如何从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")
}
这是一个好选择吗?
它正在进入catch块,然后您可以执行以下操作:
} catch (error) {
return res.status(500).send("Error this mobile number is not available.");
}