首页 > 解决方案 > 等待不起作用,执行继续进行

问题描述

我正在尝试发送一个对象作为结果,但是即使我正在使用等待,返回行也会在查询完成之前执行。使用调试器,我看到 res.status(200) 在服务内的查询返回结果之前执行。

我尝试将它放在一个函数中并使用 then() 但这也不起作用。我想我用错了。

这是我正在使用 await 的 controller.js。

let table = req.query.table;
    let namespace = req.query.namespace;
    table = table.toUpperCase();
    namespace = namespace.toLowerCase();

    try{
        let serviceResponse = await testService.GetAny(table, namespace);
        res.type('application/json').status(200).send(serviceResponse);
    }

这是执行查询的服务。

client.exec(getScript, (err, res) => {
        if(err){
            return console.error('Connect error ', err);
        }

        console.log('inside exec');

        return res;
    });

标签: javascriptnode.jsexpressasynchronous

解决方案


推荐阅读