我目前正在尝试研究如何使用 Firestore 和 NodeJS 进行基本查询。我收到错误“预期的捕获()或返回”。我希望有人能解释为什么会这样?
我正在使用快速路由器来处理路由。
方法 1. ESLint 错误
userRouter.get("randomroutename", (req, res) => {
const uid = req.params.uid;
console.log("User: " + uid);
let collectionRef = db.collection('col');
collectionRef.add({foo: 'bar'}).then(documentReference => {
console.log(`Added document with name: ${documentReference.id}`);
res.status(200).send('SUCCESS');
});
});
在环顾四周并尝试了一些事情之后,这似乎可行,但是我真的很困惑为什么需要回报。当函数 'add' 肯定返回我可以访问 .then 的承诺时,为什么我需要返回承诺对我来说真的没有意义。
方法2.没有错误
userRouter.get("randomroutename", (req, res) => {
const uid = req.params.uid;
console.log("User: " + uid);
let collectionRef = db.collection('col');
return collectionRef.add({foo: 'bar'}).then(documentReference => {
console.log(`Added document with name: ${documentReference.id}`);
return res.status(200).send('SUCCESS');
});
});
根据文档(https://googleapis.dev/nodejs/firestore/latest/CollectionReference.html),我相信方法 1 应该有效。
谢谢你的帮助!(非常抱歉,如果这太明显了,我就是无法理解它......)
相关分类