Как отправить ответное сообщение об ошибке из 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)
}
}
но resualt в 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
мне нужно показать сообщение «Ошибка. Этот номер мобильного телефона недоступен».
спасибо вам за помощь
Теперь я исправляю это,
если номер телефона уже используется
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")
}
Это хороший выбор?