javascript - 在firebase v9等待保留字问题
问题描述
如果我使用 firebase 文档中的代码,则会收到错误 await is reserved word
try {
const docRef = await addDoc(collection(db, "users"), {
first: "Alan",
middle: "Mathison",
last: "Turing",
born: 1912
});
console.log("Document written with ID: ", docRef.id)
} catch (e) {
console.error("Error adding document: ", e);
}
如果我这样使用它,我不会收到任何错误,但这不起作用
async () => {
try {
const docRef = await addDoc(collection(db, "projects", vm.add.slug), {
first: "Alan",
middle: "Mathison",
last: "Turing",
born: 1912
})
console.log("Document written with ID: ", docRef.id)
} catch (err) {
console.log("error deleting data:", err)
}
}
谁能帮助我我做错了什么。
解决方案
正如 Brian 所说,在第一个示例中,您在一个非异步函数中调用 await,而在第二次尝试中,您只定义了一个从未调用过的函数。
我的建议:创建一个异步函数,并在你想要的地方调用它,等待。
const submit = async payload => {
try {
const docRef = await addDoc(collection(db, "projects", vm.add.slug), payload)
console.log("Document written with ID: ", docRef.id)
} catch (err) {
console.log("error deleting data:", err)
}
};
...
await submit({
first: "Alan",
middle: "Mathison",
last: "Turing",
born: 1912
});
...
推荐阅读
- reactjs - React js 和 axios POST 请求发送空数组
- excel - 将结果发送到具有匹配名称 VBA 的行中的工作表 2
- python - 在 django 中调试、测量图像上传时间
- google-analytics - Google Analytics 在页面报告中更改页面 URI
- wordpress - WordPress 自定义帖子类型路由
- javascript - 调用函数时没有看到任何文本
- java - 如何在android apk中使用url文件目录制作Webview
- javascript - 隐藏在父元素内的工具提示
- twilio - Twilio:我的 Twilio 号码的传入测试呼叫
- r - glmnet 模型性能与提升算法相比