Google Firestore 的承诺

我目前正在尝试研究如何使用 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 应该有效。


谢谢你的帮助!(非常抱歉,如果这太明显了,我就是无法理解它......)


慕田峪4524236
浏览 180回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript