Javascript 如何从firebase云函数发送响应错误消息
如何从firebase云函数发送响应错误消息 我的云函数代码Javascript 如何从firebase云函数发送响应错误消息,javascript,node.js,firebase,google-cloud-functions,Javascript,Node.js,Firebase,Google Cloud Functions,如何从firebase云函数发送响应错误消息 我的云函数代码 exports.registerUser = functions.https.onRequest((req, res) => { return corsTool(req, res, async () => { const { mobile } = req.body; const data = { ...req.body, createAt: admin.firestore.Tim
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)
}
}
if(regis.data === "Phone number already used") {
alert("Error: Phone number already used")
}else {
alert("Save success")
}
但console.log()中的ResAlt不显示错误状态消息“error This mobile number not available”
按摩显示这个
Error: Request failed with status code 500
at createError (createError.js:16)
at settle (settle.js:17)
at XMLHttpRequest.handleLoad (xhr.js:61)
及
我需要显示消息“错误此手机号码不可用。”
谢谢vermutch的帮助
现在我通过这样做来修复 如果电话号码已被使用
res.status(200).send('Phone number already used')
并检查客户端中的文本
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)
}
}
if(regis.data === "Phone number already used") {
alert("Error: Phone number already used")
}else {
alert("Save success")
}
这是一个好的选择吗?您的代码正在生成错误。您的代码应该记录所有错误,以便查看发生了什么。请返回并更改代码以正确记录错误(在catch块中)。例如:
console.error(error)
。您确定此错误是从Firebase函数引发的吗?此错误可能从其他地方抛出。我建议将函数中的状态代码更改为“不同”,并检查错误是否会更改。如果不是,你应该去别的地方看看。