My code is:
let users: number [] = [1, 2, 3]
users.forEach(async (usernr: number) => {
        console.log("nr:" + usernr)
        await connection.query("select count(*) from documents where userid = " + usernr.toString(), "", function (err, result) {
            if (err) {
                console.log("err: ", err, " nr: ",usernr);
                return;
            }
            console.log("result: ", result, " nr: ",usernr);
        });
})
my result is:
nr:1
nr:2
nr:3
result:  [ RowDataPacket { 'count(*)': 10 } ]  nr:  1
result:  [ RowDataPacket { 'count(*)': 20 } ]  nr:  2
result:  [ RowDataPacket { 'count(*)': 30 } ]  nr:  3
I tried make the query with 'await' synchronous, but this not work. Where is my mistake? How can I do this synchron?
I try do envelope the connect.query in a function that return a promise like:
const queryPromise = (
    connection: Connection,
    query: string,
    value: (string | number) []
) => {
    
    return new Promise(async (resolve, reject) => {
        connection.query(query, value, function (err, result) {
            if (err) {
                        console.log("err: ", err, " result: ", result);
                }
                return reject(err);
            }
            return resolve(result);
        });
    });
}
and then
await queryPromise(connection, mySQLString, values)
It not work too!!! :(
