I need to run various steps in a function but steps have to be run in a specific order. I tried to implement an Async function as follow:
async function test() {
    await setTimeout(function() { console.log('1'); }, 5000);
    await setTimeout(function() { console.log('2'); }, 2000);
    console.log('3');
}
test();The expected results in the console should be 1, 2, 3 but I get 3, 2, 1.
It seems that the await parameter is ignored.
EDIT
The setTimeout function is used in the illustrative example above only to simulate a heavy task. In my project, I will not use it. Indeed, I need to connect to a database then reformat the results before moving to the next steps. Even by including the async-await, 2 is logged-in before 1. In other words, empty lists are passed to my graphic because the async-await is not taken into consideration. Here my current code:
async function refreshData() {
    myLabel = [];
    myValues = [];
    myJSON = [];
    const sqlite3 = require('sqlite3').verbose();
    let db = new sqlite3.Database(fullPath + '/annex/data.db');
    await new Promise(resolve => {
        db.each('SELECT firstName, age FROM Info;', function(err, row) {
            console.log('1');
            myLabel.push(row.firstName);
            myValues.push(row.age);
            myJSON.push(JSON.stringify(row));
        });
        resolve(myValues);
        resolve(myLabel);
        resolve(myJSON);        
    });
    console.log('2');
    db.close();
    popChart(myLabel, myValues);
    popTable(); 
}
 
     
     
     
    