I have a problem to evaluate the result of a function that use node-postgres query, it allways return "undefined" (this function verify JWT token informations validity in database):

```
const testTokenQuery = function(account_id, is_admin, query) {
  return new Promise(function(resolve, reject){
    pool.query(query, [account_id], function(err, result) {
        if(err) {
          reject("invalid")
        }
        else {
          const bdd_account_id = String(JSON.stringify(result.rows[0].ac_account_id)).replace(/['"]+/g, '')
          const bdd_is_admin = String(JSON.stringify(result.rows[0].ac_isadmin)).replace(/['"]+/g, '')
          if (account_id == bdd_account_id || tok_is_admin == bdd_is_admin){
            resolve ("valid")
          }
          else {
            reject("invalid")
          }

        }
    })
    pool.end();
  })
}

const testToken = (token) => {
  const checkTokenId_query = sql = fs.readFileSync('./sqlqueries/checkTokenId_query.sql').toString()
  const decodedToken = jwt.decode(token, 'JWT_SIGN_SECRET')
  const tok_account_id = decodedToken.account_id
  const tok_is_admin = decodedToken.isadmin
  testTokenQuery(tok_account_id, tok_is_admin, checkTokenId_query)
    .then(function(result){
      console.log(result) //===================> It allways return the good value here
  }).catch(function(err){
    console.log(err);   
  })
}

const isvalid = testToken('eyJhbGciO............ltJT0PhXCjV00')
if(isvalid == "valid") {
  console.log("valid token")
}
else if(isvalid == "invalid") {
  console.log("not a valid token")
}
else{
  console.log("I don't know : " + isvalid) //======> Always the result with isvalid = undefined
}

```

The SQL Query file contains :

```
SELECT  ac_account_id,
            ac_isadmin,
            ac_isactive
FROM    table_accounts
WHERE ac_account_id = $1;

```

The result is always "I don't know : undefined" while the console.log(result) of the testTokenQuery .then returns "valid"...

I tested with callbacks : same problem, await/async : same problem ... I am going crazy ...

Thanx for help !

Regards.

UPDATE :
I tried to simplified at the extreme to test with async but I still have "undefined" as an answer :

```
const testTokenQuery = async (account_id, query) => {
    pool.query(query, [account_id], function(err, result) {
      return String(JSON.stringify(result.rows[0].ac_account_id))
    })
}
const testToken = async (token) => {
    const checkTokenId_query = sql = fs.readFileSync('./sqlqueries/checkTokenId_query.sql').toString()
    const decodedToken = jwt.decode(token, 'JWT_SIGN_SECRET')
    const tok_account_id = decodedToken.account_id
    return await testTokenQuery(tok_account_id, checkTokenId_query)
}

const tokenReturn = async (token) => {
    console.log(await testToken(token))
}

tokenReturn('eyJhbGciOiJ...........0PhXCjV00')

```