代码之家  ›  专栏  ›  技术社区  ›  Yordan Kanchelov

Mongoose等待承诺错误

  •  -1
  • Yordan Kanchelov  · 技术社区  · 6 年前

    我试图在查询集合时使用wait,但无法运行它。我看不出这个错误

    router.route('/errors')
        .post((req, res) => {
            const envirementName = getProjectEnv(getErrorLocation(req.body.error));
    
            let envCollection = await EnvirementProjectsCollection.findOne({envirementName}).exec();
            console.log(envCollection);
        });
    

    它与-

    let envCollection = await EnvirementProjectsCollection.findOne({envirementName}).exec();
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    SyntaxError: Unexpected identifier
        at createScript (vm.js:74:10)
        at Object.runInThisContext (vm.js:116:10)
        at Module._compile (module.js:588:28)
    

    根据我所看到的,查询的exec()函数将返回一个我希望等待的承诺。目前我找不到错误。我很乐意得到一些解释和帮助来解决我的错误。

    事先谢谢!

    1 回复  |  直到 6 年前
        1
  •  2
  •   Mikinj Mistry    6 年前

    我想您在函数之前没有使用async关键字。

    router.route('/errors')
        .post(async (req, res) => {
            const envirementName = getProjectEnv(getErrorLocation(req.body.error));
    
            let envCollection = await EnvirementProjectsCollection.findOne({envirementName}).exec();
            console.log(envCollection);
        });