【发布时间】:2022-11-06 13:25:01
【问题描述】:
使用 FirebaseFirestoreService 我编写了这个函数来获取和更新集合“设置”
export const handleGetOrderId = async () => {
const settingDocRef = doc(db, "restaurant", "9NmmWP99jNciAqVqLROy", "setting", "9NmmWP99jNciAqVqLROy");
try {
await runTransaction(db, async (transaction) => {
const sfDoc = await transaction.get(settingDocRef);
if (sfDoc.exists()) {
transaction.update(settingDocRef, { orderId: increment(1) });
if (sfDoc?.data().orderId) {
const new_id = parseFloat(sfDoc?.data().orderId) + 1;
return String(new_id).padStart(6, "0");
} else {
return "000001";
}
}
});
} catch (e) {
console.error(e);
}
};
在前端,我像这样调用“handleGetOrderId”
const orderId: any = await handleGetOrderId();
但它返回“未定义”,我想看到一种类型的字符串,就像 firebase 的自动生成的 ID - 我尝试了很多方法来解决,但没有任何改变。有人请告诉我我错在哪里。
【问题讨论】:
标签: typescript firebase google-cloud-firestore async-await