我在搜索数据库时出错,我不知道如何解决

I'm getting an error when I search the database and I don't know how to solve it

我正在向我的数据库发出请求,我将函数设置为异步并等待,但它仍然 return 未定义或 Promise { pending } 当我得到结果时如何 return 它?

export const getGerente = async (req, res) => {
    var query = "SELECT * FROM inventory;"
    const r = await select(query)
    console.log(r)
    return res.json({message:"teste"})
}
export async function select(query)  {
   var teste = await client.connect(() =>{
        client
            .query(query)
            .then((resultado) => {
                console.log('sucess!!');
                return resultado.rows
                /*
                const rows=resultado.rows
                rows.map(x =>{
                    console.log(x.name)
                })*/
            })
            .catch((erro) => {
                console.log("erro: " + erro.message);
            })
            .then((teste) => {
                console.log('Finished execution, exiting now');
                process.exit();
            });
    })
}

结果:承诺{待定} 我打电话给她请求

您的 select 函数未正确等待 client.connect

试试这个 select 函数 -

export async function select(query)  {
   const promisifiedRows = new Promise((resolve, reject) => {
      client.connect((err) => {
         if (err) {
            reject(err);   // err in connecting
         } else {
            console.log('Connected!');
            client.query(query, (err, rows) => {
               if (err) {
                  reject(err);   // err while exceuting the query
               } else {
                  resolve(rows);
               }
            });
         }
      });
   });

   const rows = await promisifiedRows();
   return rows;
}